Chapter 8
Introduction to ADAM

 8.1 What is ADAM?
 8.2 The Role of the Command Language

8.1 What is ADAM?

ADAM (Astronomical Data Acquisition Monitor) consists of a number of facilities which can be combined in a toolkit approach to support a range of software, from simple applications to sophisticated, multi-tasking, observing and data analysis systems. A typical ADAM system consists of a number of tasks which communicate with each other following well defined protocols. (On VMS, each task is a separate VMS process.) Tasks are written using a standard set of subroutine libraries which provide the ADAM facilities. ADAM is often termed a software environment as, in a completely ADAM system, it is what the user’s application code ‘sees’ around itself.

ADAM was originally developed by the Royal Greenwich Observatory to run on the Perkin-Elmer computers of the INT and JKT on La Palma, for instrument control on these telescopes. The Royal Observatory Edinburgh adapted ADAM to run on VAX/VMS systems to provide the instrument control environment for UKIRT. In doing so they incorporated most features of the Starlink Software Environment (SSE) so that SSE programs were equivalent to ADAM A-tasks. VAX ADAM has now been adopted as the standard instrument control environment for the AAT, the WHT at La Palma and the JCMT on Mauna Kea as well as UKIRT. ADAM has also been adopted by Starlink as its standard environment for data reduction. Responsibility for support of ADAM now rests with the ADAM Support Group, which is part of the Starlink project.

There are several references in the following chapters to Starlink User Notes (SUNs), Starlink System Notes (SSNs) and Starlink Guides (SGs). On Starlink systems they will be found in a directory with logical name DOCSDIR. Your site manager should be able to provide hardcopies.

8.2 The Role of the Command Language

The command language was originally conceived as playing a key role in the ADAM system by providing the only user interface to the system. However, other user interfaces to ADAM have been developed, so users of ADAM systems will not necessarily find themselves using ICL (or its predecessor ADAMCL) when working with an ADAM system.

When using ADAM for data reduction the command language will probably be the standard means of running ADAM. When ADAM is used for on line instrument control the command language can be used, but this is generally done only in the testing phase of the instrument. In fully developed systems the instrument will probably be controlled through a user interface which makes more sophisticated use of the terminal. There are two such systems in current use.

At UKIRT, the instrument control software is using the screen management system (SMS). With SMS the user is presented with menus from which selections are made using the cursor keys. The SMS menu selections actually result in command language code being executed, but the user does not normally interact with the command language directly.

At the AAT, the user interface for instrument control is currently by means of ADAM tasks known as U-tasks. The user of a U-task sees a screen divided into a fixed region in which status information on the instrument or observing process is displayed, and scrolling regions for message output and command input. The command language is not normally involved, though it is always possible to use the command language to control a U-task, which is equivalent in this respect to any other ADAM task.