Historically Asterix applications have used only one data access method for bulk data handling, namely file mapping. This has three disadvantages,
%VAL
function
before the data can be used at a low level. This inevitably forces
programs to be split into two levels. The combination of the mapping
process and the resulting requirement to split the code makes programming
noddy analysis procedures unnecessarily complicated.
For these reasons ADI supports two data access modes in addition to
mapping. The first of these is a simple get/put
interface where
the entire data object is read into or written from Fortran variables in
one fell swoop. This makes the life of the amateur programmer
considerably simpler.
The third access mode is buffered access. ADI buffers can be defined to scan over a data object or objects with buffer sizes under either user or automatic control. Access to buffered objects can be synchronised to (for example) step over multiple data members of a class at the same rate.