3 Parameter Storage and the CURRENT Value

Each ADAM application program has zero or more program parameters. A program parameter is a value which the program gets from the ‘outside world’, or which the program wishes to make available outside itself. The value may be a primitive value (scalar or array) or a file or device name for example.

Before describing the way parameters are specified in the Interface File, it will be useful to say a little about the way in which parameter values are stored.

If a primitive value is supplied for parameters of a standard HDS type (see Section 4.3), storage of the defined type is created and, if possible, the value is converted to the storage type and stored. For other types, storage of the type of the supplied value is created.

If a name is supplied as a value for a parameter, the name is stored. For parameters of a standard HDS type, it is assumed to be the name of an HDS object of a suitable type and the storage type of the parameter is effectively the type of the named object.

The stored value of a parameter is known as the current value. It will normally2 be in an HDS file known as the parameter file. A component of the right type, size and shape is created to hold the given parameter value – there is a special structure to hold values which are names. Each program or monolith has its own parameter file which is retained between sessions. The parameter file name is name.sdf (where name is the name of the executable file) and, by default, it will be found in subdirectory adam of the user’s login directory.

Note that the current value is usually thought of as the last-used value, however:

2The exception is ‘internal’ parameters (see Section 4.10) which are stored in memory.