thus, we chose FORTRAN IV as the language with which to implement the 

 Bugsystem. FORTRAN IV has become a standard language among 

 minicomputers and has simplified the tasks of maintaining Bugsysem software 

 and training new programmers to implement new BRL operators. The 

 importance of these aspects cannot be overestimated since, all in all, ten 

 different programmers have added software to the system during its three years 

 of development, each requiring instruction on the software conventions and 

 use of system utility subrouting packages. But at least they knew the 

 FORTRAN language. 



The software was first operational on a PDP 11/45 computer at 

 Southeastern Massachusetts University under the DOS-9 operating system. It 

 was then implemented on a Data General ECLIPSE S/200 under the RDOS 

 operating system. Some assembler language subroutines had to be recoded, 

 including the software drivers that handle the direct memory channel to the 

 Bugwatcher. But the transition to the new computer went fairly smoothly. The 

 PDP 1 1 system was maintained for development purposes after the ECLIPSE 

 was sent to its Narragansett home at the EPA lab. Due to malfunctioning 

 DOS-9 software, the PDP 1 1 operating system was changed to RT 1 1-a change 

 that required as much or more development effort than changing computers! 



Virtual File Structure 



Certainly one of the major disadvantages to using minicomputers for large 

 apphcation software projects is the address space limitation imposed by its 

 small word size. This system was no exception. To overcome this limitation so 

 as to allow both programs and data to fit within allocated memory, both 

 program structures and data structures were designed so that only pieces of 

 either resided in memory at any given time. Manufacturers of minicomputers 

 recognize this problem and provide software support for manipulating 

 overlayed programs; i.e., programs consisting of parts which are swapped in and 

 out of main memory. However, software support was not available for similarly 

 overlaying data sets. The earlier prototype system did not allow data sets to be 

 any larger than the memory buffer on the IBM 1800— a simple solution, but 

 not acceptable in the newer system. Certain Bugsystem applications require the 

 acquisition and analysis of behavioral records consisting of many frames of 

 video data or the trajectories of hundreds of organisms. The system required 

 the potential to manipulate data structures ten to hundreds of times the size of 

 main memory available for data. 



One of the early software design goals was to simplify the process of adding 

 new BRL operators. Each operator was to be implemented in FORTRAN as a 

 program overlay. An operator would be required to access as many as three 



256 



