Approved For Release 2003/09/16
: CIA-RDP96-00788R002000260002-1
158
Journal of the American Society for Psychical Research
be traded off against the amount of storage needed for data and the
speed of execution of a program. An easy-to-use system with many
seldom-used
features
usually
requires much
computer
storage
space and may run notoriously slowly. Thus, in our system, which
must handle large amounts of data in a relatively small computer,
certain niceties had to be avoided. The rapid execution necessary
in the data acquisition system also required certain compromises.
True exportability
is
also a problem
in a program written
in an
assembly language for a particular piece of hardware. The data
acquisition system
is such a program and
its ability to be shared
with other
labs
is
thus
quite
limited.
Despite these
limitations,
however, the overall system has proved to be fairly exportable,
and
it meets our current needs in terms of generality and ease ot
use. We now describe this software in some
detail.
The overall organization of the software system
is outlined m
Figure
2, details of which will become clear as we proceed. The
system has two main parts—a collection of facilities for construct-
ing and executing programs which control experiments and acquire
data on-line; and a collection of data management, data reduction,
and
statistical analysis programs.
A. Real-Time Data Acquisition System
The major component of the real-time system
is a collection of
assembly-language subroutines which allows construction, entue y
in FORTRAN IV, of computer programs for on-line control ot any
of a wide variety of experiments.
Using these facilities, an experiment
is organized as a temporal
structure of events
controlled by
the programmable LPS
clock.
Associated with each event
is a user-provided FORTRAN
sub-
routine which typically performs some elementary activity such as
generating a target, receiving a response,
storing sampled physi-
ological data,
etc. The real-time subroutines provide for defining
events and their attributes (such as repetititon rate and priority ot
execution),
scheduling and
cancelling
events,
and
starting
and
stopping the clock and setting
its “tick” or interrupt rate.
10 The current Duke implementation runs under the single-user Disk Operating
System (DOS). However,
parallel
versions
of
all
our
software have
also
been
developed for the parapsychology laboratory of the University of Utrecht,
in
Netherlands, which runs the multiple-user RSX-11M operating system. Technical
details of the DOS real-time software are contained
in Appendix 3 . The
first two
authors wish to express their thanks to Martin Johnson and Sybo Scho^
and to
the Parapsychology Foundation, for supporting nine months of work at the Utrecht
laboratory.
Approved For Release 2003/09/16
: CIA-RDP96-00788R002000260002-1
Approved For Release 2003/09/16
: CIA-RDP96-00788R002000260002-1
A Computer-Based Laboratory
159
SOFTWARE ORGANIZATION
i
Fig.
2. Overall organization of the software system.
During execution, whenever the clock
“ticks,” whatever pro-
cessing is going on is interrupted and, in effect, “put on hold.” The
real-time system then takes over and inspects
.an
internal
list to
determine whether any events are scheduled to occur.
If any are
found, the subroutines associated with these events are executed in
the order specified by the event priority. Then, following the pro-
cessing of any scheduled events, execution of the interrupted pro-
gram may resume.
This
clock-driven
priority
hierarchy
assures
accurate timing for critical events, while allowing several overlap-
ping processes
to
share
the computer
as
they need
it.
It
thus
permits maximally
efficient use of the machine. By contrast,
in
most existing systems
the user requests
a
service
such
as data
sampling and then must wait idle until the service is completed and
control returns
to
his program, even
if the
service
itself
is only
using the machine intermittently while
it
is active (see, e.g., Don-
chin and Heffley,
1975).
These principles govern real-time program execution not only in
the PDP-11, but also in the downstairs microcomputer which oper-
ates
partly
independently and
in
parallel. Whenever
the
clock
“ticks,”
the 8085
processor
is
also
activated. Normally
at
this
point the conversion of the physiology to
digital form
is accom-
plished and then
the
results
transferred
to
the PDP-11
via the
digital multiplexer and DR11-C.
In addition, however,
the 8085
may
cause
other events
(so-called
“remote
events”)
to
occur.
These remote events
are
similar
to
the events executed
at
the
PDP-11 and may include
(in addition
to the A
to D conversion
event) the driving of feedback devices and/or triggering the RNG,
for example. When running an experimental protocol, before the
experiment itself begins, the PDP-11 loads the 8085 (via the auxil-
Approved For Release 2003/09/16
: CIA-RDP96-00788R002000260002-1
Approved For Release 2003/09/16
: CIA-RDP96-00788R002000260002-1
160
Journal of the American Society for Psychical Research
iary serial port) with the proper program data to execute the remote
events required by the particular experiment. Prior to this time, the
remote
events
(which
are
really
8085
assembly
language
sub-
routines) have been written and compiled in proper format using a
cross-assembler available on the PDP-11. Thus, although the 8085
^
may be used as a “stand-alone” computer,
all program develop-
ment, storage, and execution is actually handled on the PDP-11.
Auxiliary
subroutines provided by
the
real-time system allow
FORTRAN access to various parts of the LPS such as the analog
and
digital input-output
facilities, LED
display, and
relays. An-
other important group of routines
is concerned with the formation
and use of queues, or circular data buffers. This useful data struc-
ture (analogous in operation to the ticket line at the theatre in that
the data enter the queue
at one end and
are removed from the
other)
allows
us
to
maintain
a continuously updated
record of
physiological data from
the immediate
past.
This
is
particularly
important when we want to look at physiological patterns preced-
ing some occurrence whose timing
is not known
in advance—for
example, a
self-initiated response
in an ESP task.
Our experience with these facilities so far suggests that they can
be effectively used by persons with moderate skill in FORTRAN,
and that
initial programming time for new experiments will
typi-
cally range between a few hours and a few days, even for quite
intricate experiments. Also, once the basic structure of an experi-
mental control program
is written, modifications are usually quite
easy to make, thus reducing the effort involved in “shaking down”
a new experimental protocol. (Further details of the real-time sys-
tem are given in Appendix 3.)
B.
Interactive Data Management, Data Reduction, and Statistical
Analysis System
This part of the system is written almost entirely in FORTRAN,
and thus
is
relatively machine- independent and exportable.
It
is
designed to allow users to process data from virtually any kind of
experiment
(although many
of
its
facilities
are
specialized
for
psychophysiological research and would not be as useful in other
applications), and demands roughly the same order of user sophis-
*
tication
required
for
effective
use
of commercially
districted
“canned”
statistical packages such as SAS or BMD.
A key concept underlying the generality of the system ik" that of
the standard file format
(details are given
in Appendix
4).
Real-
time programs are normally designed to write their output directly
in the standard form. All subsequent processing is then carried out
Approved For Release 2003/09/16
: CIA-RDP96-00788R002000260002-1
Approved For Release 2003/09/16
: CIA-RDP96-00788R002000260002-1
161
A Computer-Based Laboratory
by programs which read standard-file inputs and (optionally) write
standard-file outputs.
self-describing—that is, the actual
Data files in standard form are^
e^s
which describe the
data records are preceded by
the very
first record
structure and content of the
d
J.
sy
y
stem learns enough to
is fixed in structure, and by reading
y
f the
file. Thus, a
be able to read correct y
e wh
within a single
great variety of data ^
nt and data analysis routines
uniform system ot data manage!
ma jn parts—the
Individual data records
the
I
-
digitalized physi-
actual data-points (which might be
™
SDectra, or any of a wide
ological samples, estimates of E
P we
P
information. Iden-
variety of other possibilities), and idOTtittcatwn
'
ng_variMes ,
tificatton information is carr e
classification-variables in
which are
in effect much ake/arto™or« ^
T()
i|lus .
the
analysis-of-variance an
P.
ment as consistl„g of a series of
trate,
if we think of an ES
P
ized
various ways—for
trials,
then each
trial can
g
d
what resp0nse was made,
example, by what target
g
’
j
s
^his kind of infor-
and whether the response was a hit or a miss.
oration
is stored in the gr°oP'f .^'records
is
that they
are
or-
Another important
the likely possibility of multiple-channel
gamzed into sets t0
,
re“ec
!,n
r _ ntinae with our
illustrative experi-
physiological recording. To
,
t
physiology during a
ment, suppose we recorded
six channels
ot Physioijy^ ^
short period prior to
e;a<r£J®a\Tdata file by a record-set consisting
would be represented in the raw data hie by a
Apart from
of six data records, one for
wuld be identical
channel number, the Sr°uP 1!
}g
,
vaiues would differ from rec-
within each record-set
but the
re occurring in the
corresponding physiological leads
™
Si
=;S= Spiel
routines—routines for record
operating on data-points.
on grouping-variables,
( of ^.neralfy useful routines
SffhSSA new ones for special purposes can
W
SL?nfau^ni,iaStion phase, FILMAN
first asks for an input
Approved For Release 2003/09/16
: CIA-RDP96-00788R002000260002-1