It is Starlink's aim to provide maintainable, portable, and extensible applications packages that work in harmony by sharing a common infrastructure toolkit, standards, conventions and above all, a standard data format. Individual packages are no longer required to perform all functions, thus carry less inertia, and are more adaptable to outside developments. Additional functionality can be added piecemeal to the relevant package. New user interfaces, such as graphical, could be layered within the toolkit for obtaining parameters and so make the enhancement available to all applications that make use of those tools. An example of this approach has allowed us to access `foreign data formats' throughout Starlink packages, because the packages use a common infrastructure library.
An important part of the rationalisation is that applications are
unified by sharing the same basic data structure--the
NDF (Extensible n-dimensional Data Format). This contains
an n-dimensional data array that can store most astronomical data such
as spectra, images and spectral-line data cubes. The NDF may also
contain information like a title, axis labels and units, error and
quality arrays, and World Co-ordinate System information.
There are also places in the NDF, called extensions, to store
any ancillary data associated with the data array, even other NDFs.
KAPPA --- Kernel Application Package