First-Hand:The Birth of IMS/360

From ETHW

The Birth of IMS/360

By: Uri Berman, April 2007

[Note: During the preparation of this essay, Uri died following a long illness. His wife, Jackie Berman, and Bob Patrick researched and completed this First person Essay.]

In 1963, the Santa Monica Office of IBM assigned me to work at Rockwell's Space Division in Downey, California. At the time Rockwell was building the Apollo capsule that went to the Moon. Their design and manufacturing facility was an industrial site spread over several city blocks. The schedule was very tight and avoidable mistakes could not be tolerated.

I was teamed with Pete Nordyke, a Rockwell employee at Space Division. They had an urgent need to keep track of parts for the capsule. Further, incompatible engineering changes had to be avoided. We devised an application that kept a current parts list on a big disk, and we appended to it the status of all part number changes. Space had a local area network with inquiry terminals in each engineering department which was connected to an IBM 7010. Thus, an engineer could be sure he had the latest engineering drawing for a part of interest and also see if any changes were pending against that drawing.

With a big file and many programs requiring access to it, control gets complicated. I thought disk access methods and recovery planning should be separated from the applications programs that accessed that data. To that end, I devised some general purpose software that would support disk operations and separated the applications programmer from the details.

The system was called DATE (Disk Applications in a Teleprocessing Environment) and buried within it was something now recognized as DL/I (Data Language/One). After much discussion, a set of generalized access methods was written for the 7010, and in 1965 we installed the parts control file on the 7010. From this project, I was dubbed “the Father of DL/I” within IBM.

DATE separated the file and its definitions from the processing programs that used that file. That improved the integrity of the data and simplified the programming of new/changed work. With this concept, the field, record, and file definitions were separate from the application programs that entered data, inquired about status, or selected data to fulfill requests from engineering management.

When time came to move jobs to the S/360, we told management of our success and they were interested, but skeptical. The top technical manager at Space was Dr. Robert R. Brown (an ex-IBM employee). He assigned a Rockwell consultant, Bob Patrick, to work with Pete and me. We came up with a description of the 7010 software and what we were proposing for the 360-65s that Space Division would soon install.

Bob interviewed Pete and me and in 1966 wrote a system description for our project. Once in this format, it could be understood, and the project was approved, funded, and launched. At that time Space had more programs to port to the S/360 than they had programmers. By building data base capabilities in the form of software, one team could build the data base software once and all the rest of the application programmers would benefit from it.

This is how we developed a standard way to state data definitions. As a consequence, any improvement to the data base software benefited many projects and having only one set of file access routines saved computer resources. Also, we had sophisticated disk error recovery; but mainly, the concept (from the viewpoint of Space Division management) reduced the total amount of programming to be done and hastened the transition from the 7010 to the S/360.

Patrick and Brown decided that the new software should be done to IBM Type 2 standards (produced to the same standards as the Poughkeepsie Type 1 software), and that absolutely no changes should be made to OS/360 (to avoid maintaining those changes for the life of the system).

With those goals, Brown undertook negotiations with IBM. As a result, a joint project was launched, staffed by both IBM and Rockwell Space. About 20 programmers were involved, including two from Caterpillar Tractor who wanted the same capabilities. The resulting package was called IMS/360 (Information Management System/360) and it contained DL/I. The work was done in Downey, California and the original developing companies got a royalty-free license to the resulting code.

There were two other innovations at Space based on IMS: After the IMS package was running, it was installed on one 360-65 and a second 360-65 fed transactions to it and performance was measured. For their configuration and their on-line workload, a Mod 65 at Space could handle 4000 transactions an hour.

Since programmers using the data were no longer responsible for its integrity and organization, Brown created a new box on the organization chart to carry these responsibilities. The person appointed to manage all those files was Dan Gilbert. He was the first to carry the title of Data Base Manager. When a programmer set out to create a new program that depended on corporate data, he no longer talked to his friends, he went to see Dan.

IMS worked well. Rockwell and Caterpillar each got a set of data base software that cut down the work they had to do to move to S/360, and IBM got a program product that became popular with many of the large main-frame users. At its 20th anniversary in 1988, IBM stated that IMS was being used in 7000 installations worldwide. Based on the data base pioneering done at Rockwell, IBM successfully pursued a new line of business called DB/DC (Data Base/Data Communications). Together with a separate development product called CICS, IMS provided DB/DC software for a whole host of large and mid-range IBM customers. It was a very successful part of the enterprise. [1] My most exciting moment occurred when I was given an IBM Outstanding Contribution award, and a check for $100,000.

References

  1. Historian Martin Campbell-Kelly reported in his book, From Airlines Reservations to Sonic the Hedgehog, that by the end of 1989, IBM's Customer Information and Control System (CICS) was in use in over 30,000 installations