next up previous
Next: The Relationship with HDS
Up: INTRODUCTION
Previous: What is an NDF?

The NDF Philosophy and Extensibility  

The main reason for using NDF data structures as a standard method of storing astronomical data is to simplify the exchange of information between separate applications packages. In principle, this should make it possible for a software user to process the same data using software drawn from any package.

In practice, previous attempts to define a standard data format for this purpose have met with two serious obstacles. First, different authors of software have interpreted the meaning of data items differently, so that although several software packages might be capable of reading the same data files, the different packages actually performed incompatible operations on the data. Secondly, many software authors have found a pre-defined data format to be too restrictive, and have simply chosen not to use it.

The NDF data structure has therefore had to satisfy two apparently quite contradictory requirements:

1.
Its interpretation should be closely defined, so that different (usually geographically separated) programmers can write software which processes it in consistent and mutually compatible ways.
2.
It should be very adaptable, so that it can be used to hold data associated with a wide variety of software systems, whose detailed requirements may vary considerably.

The solution to this problem has been to introduce the concept of extensibility, and to divide the NDF data structure into two parts - a set of standard components and a set of extensions - each of which individually satisfies one of these two requirements. An NDF data structure therefore consists of a central ``core'' of information, whose interpretation is well-defined and for which general-purpose software can be written with wide applicability, together with an arbitrary number of extensions which may be used by specialist software but whose interpretation is not otherwise defined. Those who wish to know more of the background to this philosophy can find a detailed discussion in SGP/38.

Most of the present document is concerned with the facilities provided by the fixed ``core'' of standard components, although a few general routines for handling extensions are also included.



next up previous
Next: The Relationship with HDS
Up: INTRODUCTION
Previous: What is an NDF?


Starlink User Note 33
R.F. Warren-Smith
11th January 2000
E-mail:rfws@star.rl.ac.uk

Copyright © 2000 Council for the Central Laboratory of the Research Councils