EDA for the VMS operating system


EDA has been implemented for Digital's VMS operating system (on VAX and Alpha type machines). Geneva.

EDA is called by typing:

$ EDA

(This might be different on your system).

System-interface

You may enter any valid DCL command preceded by a '$' symbol in column 1 of a command line. From within EDA DCL command lines are limited to 80 characters like any EDA command. After the DCL command has been executed, control returns to EDA. In fact EDA uses the SPAWN mechanism to create a subprocess. Therefore all limitations applicable to the SPAWN command apply to this interface (namely authorization). Initiating a sub-process means also that you do not change the current user environment; e.g. a $ SET DEFAULT xxxx changes the default directory for the sub-process initiated by that command, but not for the parent process which is running EDA. Therefore a $ SET DEFAULT done this way does not make sense. For this reason the facility below has been introduced.

You may change the current directory by typing:

$[dirname]

where dirname is the name of the directory conforming to normal DCL conventions. Note that the [ MUST be the second character on the EDA command line. (See the previous paragraph for the reason why SET DEF won't work).

If you enter $ without a command the execution of EDA is temporarily suspended and may enter any number of DCL commands. Whenever you wish to return to EDA type LOGOUT and execution of EDA will resume. The same limitations as above apply.

This interface is not available when running EDA from a command procedure or in batch mode (because the $ sign is taken as an end of file condition). If your process quota does not allow the creation of a sub-process, the interface is not available.

Program exceptions

Arithmetic and other exceptions are intercepted by the program; the current command is aborted and the program expects the next command. The reason of the exception is explained. Most common exceptions are divide by zero in program locations where it is not checked, overflow or underflow. The program performs checks at instances where division by zero is likely to occur, however in unlikely locations this is not done, because in many instances only bad shaped data (e.g. several constant "variables" in a factor analysis etc) causes such events. In batch mode exceptions are not trapped and cause therefore abnormal termination. The same is true for ctrl/C when EDA is run from a command procedure.

In interactive mode any interruption of a command either by control-C keying or any arithmetic exception or other abnormal conditions not handled bay EDA cause the command to be aborted as is, no cleanup operation is performed; therefore in some instances (e.g. while writing a file etc) unwanted side-effects may occur. E.g. files retain their current position, therefore a subsequent operation continues at that point. Some EDA internal flags may remain set.

As all exceptions are handled by EDA, one of them - insufficient disk quota - causes a serious problem if a print file is active; in that case every EDA command aborts because it attempts to write to the print file, which causes an exception, i.e. the command aborts. PRINT OFF will turn printing off. (maybe try $ PURGE first, it often helps])

Append to files

When creating a new file, EDA ask you if an already existing file may be overwritten (i.e. creating a new version). Under VMS you may additionally ask to Append (answer A) the output to the end of the already existing file.

ctrl/C interrupts

Any EDA command can be interrupted using the ctrl/C key. The current command is aborted, and the program waits for the next command. Note that this is a radical operation, i.e. its consequences are similar to a system specific program interruption (see above for an explanation).

Print file name

The print file name is time based and prefixed by 'E' and a suffix .epr is added.

Editor interface

The E(dit) command within the print file post-processor is active. The EDT editor is called with the current image. (This is done via a sub-process, therefore the same limitations apply as for the system interface). Note the following restrictions, whenever EDA is executed in non-interactive mode (i.e. commands are not read from the interactive terminal):

File names

On VMS external file names can be different from EDA internal file names. System files are handled automatically, as well as the print file. For all other files the rules are as follows: if you specify a file name with an extension that file name is looked up or created. If no extension is supplied, e.g. *READ RAWDATA "MYFILE" then the .DAT extension is used automatically, i.e this command tries to read form a file named MYFILE.DAT. Note that *READ RAW "MYFILE." (dot added) means a file called MYFILE. (i.e. a file name without an extension).

VAX specific commands

The following VMS specific commands are available:

STAT SYSTEM CPU

shows machine performance statistics, e.g. CPU time, page faults and so on. Each call to STAT SYSTEM time resets the timer. Therefore you might check the performance of command sequences.

Important: disk quota

EDA uses quite a number of scratch files, which - depending upon the application - may need disk quota. Therefore make sure that you have some room left, before calling EDA if you wish to avoid nasty surprises.

Error messages

Several VMS specific error messages have been added:

<VMS 1> Exception (illegal operation).

An illegal operation has been attempted the reason is given by VMS in detail. If after careful examination the reason cannot be found, it is likely that you have found a bug in the program. Please report the error causing command-sequence to the EDA system administrator. The current command is aborted.

<VMS 2> command aborted.

The current command is aborted. The reason is given in the preceding message. EDA now waits for a new command.

<VMS 3> process quota exceeded.

When using a DCL command from the system interface, an error has occurred. The sub-process could not be created.

<VMS 4> error in directory name.

The directory name specified with $[dirnam] is not correct. This means that the syntax is not correct. Note that this does not mean that the directory does not exists (or similar reasons; this is not checked at that level.