At this point, BFG instituted a corporate policy dictating that all BFG data centers will select IBM equipment (or else) when upgrading to third generation computers. Since there were no IDS type DBMSs available on IBM mainframes, BFGCC management, after a feasibility study, authorized the development of IDMS. BFGCC was a member of CODASYL and as such, had an advance copy of the CODASYL Data Base Task Group's (DBTG) April 1971 specifications. Also, Schubert, who represented BFGCC in CODASYL, was an active member of the DBTG and thoroughly knowledgeable regarding the proposed specifications. IDMS was developed using a subset of the DBTG's specifications.
IDMS was designed and written at the Cleveland data center of The BFGCC. Most of the work took place from late 1969 to mid 1971. The project team consisted of five programmers under the management of Richard F. (Dick) Schubert. The programmers and their contributions were as follows: Vaughn Austin, IDMSCALC & IDMSINIT; Ken Cunningham, IDMSDMLC; Jim Gilliam, IDMSDBMS, IDMSIDMS, and the overall design of the IDMS system; Pete Karasz, IDMSDUMP, IDMSPFIX, IDMSRBCK, IDMSREST, IDMSRFWD, IDMSUBSC, and ISL language compiler; and Ron Phillips, IDMSCHEM.
It is without doubt that the work with IDS gave us the confidence to tackle development of IDMS. It is important at this juncture to stop and point out the facts that the only IDS source ever seen by us was the earliest version for the GE-200 and that no code from IDS has survived into IDMS. We did, however, retain the concepts of file navigation based on tables and the owner-member record relationship. Multi-file databases (DMCL), areas, schemas (DDL) and subschemas are all CODASYL concepts implemented for the first time in IDMS. The IDD was our original contribution and it was not part of the DBTG's specifications until years later. IDS for the GE-200 had none of these features and for that reason alone it could not serve as the basis for IDMS. IDMS was all new design, all new code. Later versions of IDS for the GE-400 and GE-600 series machines were CODASYL compliant implementations but they came years after IDMS.
Just what WAS ISL? Although the IBM assembler was much more sophisticated than GAP, our aversion to assembler for large-scale software implementation has remained with us. A language like WIZOR was needed for the IBM. Recall that this was 1969. "C" is not yet a gleam in the eyes of Kernighan and Ritchie. IBM is already using PL/S for writing parts of MVT and other software, but they are keeping it proprietary. We had to roll our own. The implementation language was developed with the required IBM/360 features using GE-200 WIZOR 5 as the starting point which gave the programmers a familiar syntax to work with. Coding of IDMS has begun months before there was a compiler to grind the code. The code generator part of the compiler was chopped away and new code written to produce 360-assembler source code. We ran test compiles of small routines and captured the output on 7-track tape, which the GE-200 and the IBM/360 could both read. The code was submitted to the IBM assembler and if errors were found, we adjusted the compiler and tried again. Eventually we got error free assemblies. At this point we could compile the compiler and assemble it on the 360. Intermediate Systems Language (ISL) was ready for business. For the IDMS implementation we had to make do with a primitive one-pass version, as there was no time for unessential improvements. It did the job. Later, a multi pass optimizing compiler for ISL was written to produce code for, and take advantage of all addressing modes of, the PDP-11/45. A highly optimizing version for the IBM-370 followed in 1975. IDMS and all its utilities were originally written in ISL except IDMSDMLC, IDMSCALC and IDMSCHEM.
At this point, IDMS was ready for production. The initial set of data base tables was hand coded, first in plain assembler, later using macros. The macros were also utilized in creating the first IDD in early 1971 so the schema and subschema compilers had a dictionary to work from. Once those processors were developed, the hand coding of subschema tables came to a welcome end. While the development of the IDMS software was in progress, application programmers were busy converting the components of the order entry system from GECOM to COBOL. The first production on the IBM 370/155 using IDMS was PRESTO, an accounts receivable system. TOPSY, the order entry system followed shortly and many others later. IDMS at this point = was a local mode only system.
How did IDMS come to exist outside of BFGCC? BFGCC realized that IDMS was marketable software that would find a ready audience among those who, like BFGCC, were early users of IDS but were now confronted with the need to go to an IBM mainframe. A proposal was submitted to BFG management to establish an independent business unit, the Information Systems Division, which would market IDMS and other software yet to be developed and also support BF Goodrich with its corporate data processing needs. Coding pads with the ISD logo were printed and the first edition of the IDMS User's Reference manual bore the ISD inscription as well. Promotional materials like IDMS ashtrays with miniature Lifesaver Radial tires around them were given away to prospective customers. BFGCC began selling copies of IDMS, first to a local company, then to others. The first five customers of IDMS were: ACME Cleveland Co., Abbott Laboratories, General Motors, RCA, and Sperry Rand (UNIVAC). Two more prospective customers, Boeing Computer Services and Western Electric were trying out IDMS but we never got to sign them because the roof fell in on our hopes of becoming an independent division within BF Goodrich.