next up previous 264
Next: What Does ``AST'' Stand For?
Up: Introduction
Previous: What Problems Does AST Tackle?

Other Design Objectives

As well as its scientific objectives, the AST library's design includes a number of technical criteria intended to make it applicable to as wide a range of projects as possible. The main considerations are described here:

  1. Minimum Software Dependencies. The AST library depends on no other other software1.

  2. Environment Independence. AST is designed so that it can operate in a variety of ``programming environments'' and is not tied to any particular one. To allow this, it uses simple, flexible interfaces to obtain the following services:

  3. Multiple Language Support. AST has been designed to be called from more than one language. Both Fortran and C interfaces are available (see SUN/211 for the C version) and use from C$++$ is also straightforward if the C interface is included using:

    extern "C" {
    #include "ast.h"
    }
    

    A JNI interface (known as ``JNIAST'' - see http://www.starlink.ac.uk/jniast/) has also been developed by Starlink which allows AST to be used from Java.

  4. Object Oriented Design. AST uses ``object oriented'' techniques internally in order to provide a flexible and easily-extended programming model. A fairly traditional calling interface is provided, however, so that the library's facilities are easily accessible to programmers using Fortran and C.

  5. Portability. AST is implemented entirely in ANSI standard C and, when called via its C interface, makes no explicit use of any machine-dependent facilities.

    The Fortran interface is, unavoidably, machine dependent. However, the potential for problems has been minimised by encapsulating the interface layer in a compact set of C macros which facilitate its transfer to other platforms. No Fortran compiler is needed to build the library.

    Currently, AST is supported by Starlink on PC Linux, Sun Solaris and Tru64 Unix (formerly DEC UNIX) platforms.



next up previous 264
Next: What Does ``AST'' Stand For?
Up: Introduction
Previous: What Problems Does AST Tackle?

AST A Library for Handling World Coordinate Systems in Astronomy
Starlink User Note 210
R.F. Warren-Smith & D.S. Berry
24th May 2011
E-mail:ussc@star.rl.ac.uk

Copyright (C) 2009 Science \& Technology Facilities Council