In 1968 BBN was preparing to bid on the contract from ARPA to develop the ARPANET Interface Message Processors (IMPs) [ARPA68]. Frank Heart, Bob Kahn, Severo Ornstein, and David Walden were the main members of BBN’s proposal team (although other BBN people participated) with Heart as the team leader, Kahn with prior background in the concepts of packet switching, Ornstein as the hardware designer, and Walden as the software designer. Shortly before the due date for BBN’s proposal [BBN68] to ARPA, Will Crowther was added to the team as another (more senior) software person; and after BBN was awarded the contract, Ben Barker was added as a hardware designer and Bernie Cosell as a third software person. BBN was awarded to IMP development contract with a start date of January 1, 1969.
Over the first eight months of 1969, Cosell, Crowther, and Walden developed the IMP’s program, and Barker and Ornstein developed BBN’s modifications to the Honeywell 516 computer to adapt it for the ARPANET IMP function. Heart and Kahn interacted in various useful ways with the hands-on developers. On the software side of things, Cosell focused on the development tools and IMP code that allowed debugging and statistics taking; Crowther focused on the code that handled interactions among the IMPs; and Walden focused on the IMP-to-host code.
Nonetheless, all three knew the entire software system inside out [BBN Report 1763, BBN Report 1822, BBN Report 1877]. (“Host” is the name for computers connected to an IMP and using the network of IMPs to communicate with others host computers. By this definition, a personal computer connected today to a router or a company web server connected to a router are host computers, using the internetwork of routers to communicate with other computers.) The IMP hardware was a modified Honeywell 516 [Honeywell1, Honeywell2, Honeywell3]. However, the IMP software was developed on BBN’s PDP-1d using the TECO editor [Murphy09] for composing and editing the program and the PDP-1d’s Midas assembler [Midas1, Midas2] modified to understand the Honeywell 516 instruction codes, word size, and page boundaries.
The assembled program in octal was then output on paper tape for loading into the IMP via its paper tape reader; after BBN’s PDP-1d was connected to the ARPANET in 1971, new IMP software could be loaded into IMPs via the network itself. (An aside: The original paper about the IMP from the BBN developers [Heart70] describes editing on the PDP-1 and outputting a paper tape of the symbolic assembly code and assembling that on the Honeywell 516. We did that only a very few tedious times before switching to assembly on the PDP-1d. By the time the 1970 paper was written, we were a year beyond assembling on the Honeywell machine. Leaving that language in the paper, taken from a quarterly report to ARPA, was an oversight.)