to be a separate program module. Using terminology of Ada,
that kind of module is called a package. Typically, the
package consists of a definition part and an implementation
part. In this context, the definition part can be
considered to be the data base schema, the user’s view of
the data. And the implementation part corresponds to the
physical implementation of data base.
This approach requires extra programming effort. However,
taking the current computers, typically having large
virtual memory systems, the data base can very often be
implemented by using data-arrays, each corresponding to a
relation (when relational data base model is used). This
approach is often suitable, because the volume of the data
we are dealing with is usually limited.
Because of the separate definition and implementation
parts, the data structures can be modified later in the
system development phase without affecting the
application’s view of the data. In the case of using the
prototype approach in system design, this is of great
advantage.
6.1.3 Abstract data bases as programming paradigm
Above the concept of data bases has been used when speaking
of data that has some meaning also outside the application
program. However, the concept can also be used as a
programming paradigm for storeing any internal data. The
package approach from Ada is still valid; we define the
data and the access methods that are visible for the
outside world. A great deal of flexibility is offered on
all levels of program hierarchies. On the top level, this
has been pointed out by Elassal (1985) and Hatzopoulos
(1985).
6.2 Abstract processes
Abstract data bases can be classified to be abstract state
machines. Data is stored in the state vector of the machine
and the outside world sees the machine trough the access
functions. Other kind of abstract machines are abstract
processes. The difference (even small) is in the way how
the machine functions with respect to time. In an abstract
data base, we can usually assume that the state vector is
static between two access calls. In an abstract process, on
the other hand, the process can be active also between the
time points of interaction, the process carrying out
independent work that changes its state.
Abstract processes can be used for several computational
tasks. For example, bundle block adjustment for aerial
triangulation can be described conveniently by using
abstract processes. Assuming the usage of the conventional
method applying the pointwise treatment of observation
equation and the reduction of normal equation system such
77597.