next up previous contents
Next: Code Development Up: Computer System Previous: Hardware

Software

Software should follow modern standards and trends. Where the requirements point to an obvious choice for any of the system aspects this will be mentioned and should be considered as part of the requirements.

1.
Operating System

The operating system must have the following characteristics :

$\surd$
it must be multi-tasking,
$\surd$
it must support the IEEE POSIX2 standards for operating system calls,
$\surd$
it must provide a symbolic compiler and debugger,
$\surd$
it must provide support for networking,
$\surd$
it must be readily available and low-cost,

Based on the above list of requirements Linux (a free version of Unix for Intel platforms) is an obvious choice as operating system and has been specified by the observatory. Where low-end systems are installed which cannot support Linux e.g. 286's, DOS should be the second alternative not because it fulfills all the above requirements but because it is well known, low cost and has an installed base in house already.

2.
Programming Language

For efficiency reasons a single language should be adopted as the main programming language to be used for coding. The language chosen must have the following characteristics :

$\surd$
be an ANSI standard language,
$\surd$
be well supported by freeware and industry,
$\surd$
have a good compiler which produces efficient code,
$\surd$
have a good debugger,
$\surd$
be portable,
$\surd$
POSIX compliant,

Based on the above requirements the obvious choice is ANSI C. This is the lingua franca of Unix and therefore Linux as well. The best compiler available on the market for C today is the GNU C compiler (gcc) which comes with Linux.

C++ should be used for programming projects which are suited to object oriented programming techniques. C++ has the advantage that it has a high degree of compatibility with C code.

Very limited support must be provided for Fortran 77.

It will only be supported for backwards compatibility where debugged mathematical routines exist. All observing programs written in Fortran 77 must be rewritten in a combination of C and the high-level observing language.

Programming in assembler should be strictly forbidden unless absolutely necessary. As far as possible drivers and system software must be written in ANSI C.

Other programming languages should not be supported and if a piece of software has to be included which has been written in another language it should be treated as a black box.


next up previous contents
Next: Code Development Up: Computer System Previous: Hardware
Mike Gaylard
1999-06-11