View on GitHub

IRAF Community Distribution

IRAF maintained by the community

Home | Installation | Packages | X11IRAF | PyRAF | Forum

saord 1.9 is available

Eric Mandel wrote on May 26, 1999

*******************************************************************************

		    The SAO R&D Software Suite
			Public Release 1.9
		           27 May 1999

			   containing:

		The X Public Access mechanism (XPA)
		SAOimage: The Next Generation (SAOtng)

			   as well as:

	      	The ASSIST Graphical User Interface	
		The XDir directory browser
		The IRAF ncl with tcsh line editing

What's New and Significant in this release?
-------------------------------------------

This is a major release of the SAO R&D package. It features a
completely new (but backward-compatible) implementation of the XPA
messaging system. XPA 2.0 moves our messaging capabilities beyond the
original conception of an inter-process communication system for the X
Window System. Redesigned on top of standard TCP sockets, XPA client
and/or server support now can be added to Unix programs, Xt programs,
and Tcl/Tk programs. It extends the single point-to-point communication
of the original XPA by adding support for broadcasting. All programs
in the SAO R&D suite have been upgraded to use XPA 2.0. For more
information, see below and also:

	http://hea-www.harvard.edu/RD/xpa/index.html

In addition to developing XPA 2.0 and upgrading all saord software to
its use, a number of bug fixes and minor improvements have been made
in this release. In particular, all bugs reported on the R&D 1.8
problems page have been fixed. No major improvements to SAOtng have
been made in this release: we are working separately on the next major
version of SAOtng (code named "ds9") and will begin a series of public
beta releases in the near future.

Introduction
------------ 

We are pleased to announce the availability of a new public release
(version 1.9) of the SAO R&D software tree containing, among other
things, a new and improved version of XPA messaging. We invite you to
retrieve the software and use it for your astronomical analysis (and
other?) needs.

The New XPA 2.0 Messaging System
--------------------------------

(more info: http://hea-www.harvard.edu/RD/xpa/index.html)

The XPA messaging system provides seamless communication between many
kinds of Unix programs, including X programs and Tcl/Tk programs.  It
also provides an easy way for users to communicate with XPA-enabled
programs by executing XPA client commands in the shell or by utilizing
such commands in scripts.  Because XPA works both at the programming
level and the shell level, it is a powerful tool for unifying any
analysis environment: users and programmers have great flexibility in
choosing the best level or levels at which to access XPA services, and
client access can be extended or modified easily at any time.

A program becomes an XPA-enabled server by defining named points of
public access through which data and commands can be exchanged with
other client programs (and users).  Using standard TCP sockets as a
transport mechanism, XPA supports both single-point and broadcast
messaging to and from these servers.  It supports direct communication
between clients and servers, or indirect communication via an
intermediate message bus emulation program. Host-based access control
is implemented, as is as the ability to communicate with XPA servers
across a network.

XPA implements a layered interface that is designed to be useful both
to software developers and to users.  The interface consists of a
library of XPA client and server routines for use in C/C++ programs
and a suite of high-level user programs built on top of these libraries.
Using the XPA library, access points can be added to Tcl/Tk programs,
Xt programs, or to Unix programs that use the XPA event loop or any
event loop based on select().  Client access subroutines can be added
to any Tcl/Tk, Xt, or Unix program. Client access also is supported at
the command line via a suite of high-level programs.

The major components of the XPA layered interface are:

1.  A set of XPA server routines, centered on XPANew(), which are used by
    XPA server programs to tag public access points with string
    identifiers and to register send and receive callbacks for these
    access points.

2.  A set of XPA client routines, centered on the XPASet() and XPAGet(),
    which are used by external client applications to exchange data and
    commands with an XPA server.

3.  High-level programs, centered on xpaset and xpaget, which allow data
    and information to be exchanged with XPA server programs from the
    command line and from scripts.  These programs have the command
    syntax:

	  [data] | xpaset <XPA name> [qualifiers ...]
	           xpaget <XPA name> [qualifiers ...]
	
4.  An XPA name server program, xpans, through which XPA access point
    names are registered by servers and distributed to clients.

Defining an XPA access point is easy: a server application calls
XPANew(), XPACmdNew(), or the experimental XPAInfoNew() routine to
create a named public access point.  An XPA service can specify "send"
and "receive" callback procedures (or an "info" procedure in the case
of XPAInfoNew()) to be executed by the program when an external
process either sends data or commands to this access point or requests
data or information from this access point.  Either of the callbacks
can be omitted, so that a particular access point can be specified as
read-only, read-write, or write-only.  Application-specific client
data can be associated with these callbacks.  Having defined one or
more public access points in this way, an XPA server program enters
its usual event loop (or uses the standard XPA event loop).

Clients communicate with these XPA public access points using programs
such as xpaget, xpaset, and xpainfo (at the command line), or routines
such as XPAGet(), XPASet(), and XPAInfo() within a program.  Both
methods require specification of the name of the access point.  The
xpaget program returns data or other information from an XPA server to
its standard output, while the xpaset program sends data or commands
from its standard input to an XPA application. The corresponding API
routines set/get data to/from memory, returning error messages and
other info as needed.  If a template is used to specify the access
point name (e.g., "SAOtng*"), then communication will take place with
all servers matching that template.

SAOimage: The Next Generation (SAOtng)
--------------------------------------

(more info: http://hea-www.harvard.edu/RD/saotng/index.html)

SAOtng is a new version of the popular SAOimage display program.  It
is a superset of the ximtool program developed at NOAO for IRAF and as
such, utilizes the NOAO widget server (included in this package).  It
also incorporates the X Public Access mechanism to allow external
processes to access and control its data, GUI functions, and
algorithms.  SAOtng supports direct display of IRAF images and FITS
images (and easily can support other file formats), multiple frame
buffers, region/cursor manipulation, several scale algorithms, many
colormaps, and easy communication with external analysis tasks.  It is
highly configurable and extensible to meet the evolving needs of the
astronomical community.

We have made minor modifications to SAOtng for this release, mainly in
the area of bug fixes.  (We did add support for displaying unsigned
short arrays, reverse video, and a few other minor enhancements.)  In
general, our image display efforts are concentrated on the next
version of SAOtng (code-named "ds9"). The ds9 program implements an
integrated set of Tcl/Tk widgets for astronomical imaging and data
visualization.  It will offer many new features beyond the
capabilities of SAOtng 1.9, such as image rotation, true PostScript
printing, and cross-platform (Windows and Macintosh) support.  Look
for ds9 beta releases in the near future.

Platforms
---------

The SAO R&D software has been built on the following platforms:

	Sun Sparc	Solaris 2.5, 2.6, 2.7	OpenWindows 3.x and X11R5/6
	Sun Sparc	SunOs 4.1.3, 4.1.4	X11R5/R6.3
	HP9000/735	HP/UX B.10.20		X11R6
	SGI		IRIX 6.2, 6.5		X11R6
	DEC Alpha	OSF1 4.0		X11R6
	Linux PC	Slackware 2.2.5		X11R6
			RedHat 5.x		X11R6

We develop and run the software mainly on Suns, but time has been
spent with the other (borrowed) platforms, especially 64-bit Alphas.
Builds and ports on other systems should be relatively easy at this
stage.  If you do a port (or try to and have problems), please let us
know.

Information and Availability
---------------------------

Please visit the SAO R&D Group Home Page for news, updates, and downloads:

	http://hea-www.harvard.edu/RD/index.html

Our home page will help you to download the source code distribution
and/or binary distributions for various platforms.

Alternatively, the SAO R&D software suite can be retrieved directly
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 binary distributions also are available at this site.
We recommend using the binary distributions where possible.

The unpacked tar file requires approximately 20 Mb of disk space.
The build will require approximately double that amount, depending
on the platform.

SAOtng Mailing List
-------------------

An saord mailing list (saord-announce) have been set up using Brent
Chapman's "Majordomo" mailing list manager.  Subscribers to this list
will receive periodic status reports, release notices, and other
useful information concerning SAORD software.  If you wish to become a
subscriber, please send an e-mail message to:

	majordomo@head-cfa.harvard.edu	

The mail should contain the following command in the body of the
message:

	subscribe saord-announce

If either you or your mailer add a signature to your mail message,
please add the following command after the "subscribe" command(s):

	end

(Note that we have combined the old saotng-announce and assist-announce
lists into this saord-announce list, so it is not necessary to join the
new list if you subscribed to one of the old lists.)

Acknowledgments
----------------

Much of this software was developed at SAO by the HEAD Software R&D
group with the significant help of collaborators across the country.
The work at SAO was performed in large part under a grant from NASA's
Applied Information System Research Program (NAG5-3996), with support
from the AXAF Science Center (NAS8-39073).  SAOtng, ASSIST, and XPA
are embodiments of an evolving software cooperation philosophy and
practice we hope to bring to astronomy and other disciplines.  They
reflect our efforts to understand how software systems (and people)
can act in concert without sacrificing their independence.

Contributors to this release include:

Eric Mandel		Smithsonian Astrophysical Observatory
William Joye		Smithsonian Astrophysical Observatory

with important past and present assistance from:

Alberto Accomazzi	Smithsonian Astrophysical Observatory
Mark S. Ackerman	University of California, Irvine
Mike Fitzpatrick	National Optical Astronomy Observatories
Doug Mink		Smithsonian Astrophysical Observatory
Saleem Mukhtar		Jet Propulsion Laboratory
John Roll		Smithsonian Astrophysical Observatory
Dennis Schmidt		Smithsonian Astrophysical Observatory
Ralph Swick		The Web Consortium
Doug Tody		National Optical Astronomy Observatories

For more information (or to complain or encourage!)
---------------------------------------------------

Please send mail to: saord@cfa.harvard.edu.  We respond to questions,
bug reports, suggestions, gripes ...


						Eric Mandel
						eric@cfa.harvard.edu

Last post on May 26, 1999