next up previous contents
Next: Special sections Up: ALMA Memo #293 ALMA Previous: Archiving   Contents

Script language

A Suggested Script Language for the ALMA Real-Time System
B.G. Clark
February 2000

This document is intended mainly as a list of the atomic items needed to describe the state of the array. In order to do so in a concrete fashion, it is necessary to include a few control concepts and other programatic conventions. This are seriously affected by choices made in the course of the implementation of the interface, and this document should not be construed as specifying these things; alternate approaches of equivalent power are certainly acceptable.

I am taking the approach that one describes an observation, and then executes it, rather than the approach that the script should describe a sequence of timed commands, which is also a viable approach, but in my opinion a little less desirable.

In the material below, I find it convenent to speak in terms of macro expansion. (A parameterless procedure is an alternative way to look at the functionality; the two are indistinguishable except in implementation.) In the examples I shall use '&' to indicate that the following symbol is a macro, to be replaced by its defining text wherever it is found. I think requiring all macros to be defined at the beginning of the script is a reasonable requirement, and nesting of macros to arbitrary depth useful.

In the examples and definitions below, I shall use the character '!' to indicate that the remainder of the line is a comment. (There need to be two types of comments - one which is visible when the script is printed, one which is posted to the attention of the array operator at observe time.)

{ } enclose a block of text to be operated on as a unit.

Most information is conveyed by statements of the form

   <parameter> = <constant>

Constant types are:

Al Wootten's remark that observers may want to detach just a few antennas to run off and do a tipping curve was a possibility that had not occurred to me, and, although it might be done in any of several ways, is elegantly handled by user definable subarrays, and has pushed me into defining a script that supports them. Most of the control structures below are derived from that requirement.

There will need to be a carefully thought through specification of the scope of parameter settings (I would model it on the scope of variable names in C), which I will ignore for the moment.




next up previous contents
Next: Special sections Up: ALMA Memo #293 ALMA Previous: Archiving   Contents
Kate Weatherall
2000-03-08