CODASYL

Last updated

CODASYL (Conference/Committee on Data Systems Languages) was a consortium formed in 1959 to guide the development of a standard programming language that could be used on many computers. This effort led to the development of the programming language COBOL, the CODASYL Data Model, and other technical standards.

Contents

CODASYL's members were individuals from industry and government involved in data processing activity. Its larger goal was to promote more effective data systems analysis, design, and implementation. The organization published specifications for various languages over the years, handing these over to official standards bodies (ISO, ANSI, or their predecessors) for formal standardization.

CODASYL is remembered almost entirely for two activities: its work on the development of the COBOL language and its activities in standardizing database interfaces. It also worked on a wide range of other topics, including end-user form interfaces and operating system control languages, but these projects had little lasting impact.

History

In the late 1950s, computer users and manufacturers were becoming concerned about the rising cost of programming. A 1959 survey had found that in any data processing installation, the programming cost US$800,000 on average and that translating programs to run on new hardware would cost US$600,000. At a time when new programming languages were proliferating, the same survey suggested that if a common business-oriented language were used, conversion would be far cheaper and faster. [1]

On 8 April 1959, Mary K. Hawes, a computer scientist at Burroughs Corporation, called a meeting of representatives from academia, computer users, and manufacturers at the University of Pennsylvania to organize a formal meeting on common business languages. [2] Representatives included Grace Hopper (inventor of the English-like data processing language FLOW-MATIC), Jean Sammet, and Saul Gorn. [3] [4]

At the April meeting, the group asked the Department of Defense (DoD) to sponsor an effort to create a common business language. The delegation impressed Charles A. Phillips, director of the Data System Research Staff at the DoD, [5] who thought that they "thoroughly understood" the DoD's problems. The DoD operated 225 computers, had 175 more on order, and had spent over $200 million on implementing programs to run on them. Portable programs would save time, reduce costs, and ease modernization. [6]

Charles Phillips agreed to sponsor the meeting, and tasked the delegation with drafting the agenda. [7]

COBOL

On 28 and 29 May 1959, a meeting was held at the Pentagon to discuss the creation of a common programming language for business (exactly one year after the Zürich ALGOL 58 meeting). It was attended by 41 people and was chaired by Phillips. [8] The Department of Defense was concerned about whether it could run the same data processing programs on different computers. FORTRAN, the only mainstream language at the time, lacked the features needed to write such programs. [9]

Representatives enthusiastically described a language that could work in a wide variety of environments, from banking and insurance to utilities and inventory control. They agreed unanimously that more people should be able to program, and that the new language should not be restricted by the limitations of contemporary technology. A majority agreed that the language should make maximal use of English, be capable of change, be machine-independent, and be easy to use, even at the expense of power. [10]

The meeting resulted in the creation of a steering committee and short, intermediate, and long-range committees. The short-range committee was given until September (three months) to produce specifications for an interim language, which would then be improved upon by the other committees. [11] [12] Their official mission, however, was to identify the strengths and weaknesses of existing programming languages; it did not explicitly direct them to create a new language. [9]

The deadline was met with disbelief by the short-range committee. [13] One member, Betty Holberton, described the three-month deadline as "gross optimism" and doubted that the language really would be a stopgap. [14] The steering committee met on 4 June and agreed to name the entire activity the Committee on Data Systems Languages, or CODASYL, and to form an executive committee. [15]

The short-range committee members represented six computer manufacturers and three government agencies. The computer manufacturers were Burroughs Corporation, IBM, Minneapolis-Honeywell (Honeywell Labs), RCA, Sperry Rand, and Sylvania Electric Products. The government agencies were the U.S. Air Force, the Navy's David Taylor Model Basin, and the National Bureau of Standards (now the National Institute of Standards and Technology). [16] The committee was chaired by Joseph Wegstein of the U.S. National Bureau of Standards. Work began by investigating data descriptions, statements, existing applications, and user experiences. [17]

The committee mainly examined the FLOW-MATIC, AIMACO, and COMTRAN programming languages. [9] [18] The FLOW-MATIC language was particularly influential because it had been implemented and because AIMACO was a derivative of it with only minor changes. [19] [20] FLOW-MATIC's inventor, Grace Hopper, also served as a technical adviser to the committee. [13] FLOW-MATIC's major contributions to COBOL were long variable names, English words for commands, and the separation of data descriptions and instructions. [21] Hopper is sometimes called "the mother of COBOL" or "the grandmother of COBOL", [22] [23] [24] although Jean Sammet, a lead designer of COBOL, said Hopper "was not the mother, creator, or developer of Cobol." [25] [26]

IBM's COMTRAN language, invented by Bob Bemer, was regarded as a competitor to FLOW-MATIC [27] [28] by a short-range committee made up of colleagues of Grace Hopper. [29] Some of its features were not incorporated into COBOL so that it would not look like IBM had dominated the design process, [11] and Jean Sammet said in 1981 that there had been a "strong anti-IBM bias" from some committee members (herself included). [30] In one case, after Roy Goldfinger, author of the COMTRAN manual and intermediate-range committee member, attended a subcommittee meeting to support his language and encourage the use of algebraic expressions, Grace Hopper sent a memo to the short-range committee reiterating Sperry Rand's efforts to create a language based on English. [31]

In 1980, Grace Hopper commented that "COBOL 60 is 95% FLOW-MATIC" and that COMTRAN had had an "extremely small" influence. Furthermore, she said that she would claim that work was influenced by both FLOW-MATIC and COMTRAN only to "keep other people happy [so they] wouldn't try to knock us out.". [32]

Features from COMTRAN incorporated into COBOL included formulas, [33] the PICTURE clause, [34] an improved IF statement which obviated the need for GO TOs, and a more robust file management system. [27]

The usefulness of the committee's work was a subject of great debate. While some members thought the language had too many compromises and was the result of design by committee, others felt it was better than the three languages examined. Some felt the language was too complex; others, too simple. [35]

Controversial features included those some considered useless or too advanced for data processing users. Such features included Boolean expressions, formulas, and table subscripts (indices). [36] [37] Another point of controversy was whether to make keywords context-sensitive and the effect that would have on readability. [36] Although context-sensitive keywords were rejected, the approach was later used in PL/I and partially in COBOL from 2002. [38] Little consideration was given to interactivity, interaction with operating systems (few existed at that time), and functions (thought of as purely mathematical and of no use in data processing). [39] [40]

The specifications were presented to the executive committee on 4 September. They fell short of expectations: Joseph Wegstein noted that "it contains rough spots and requires some additions," and Bob Bemer later described them as a "hodgepodge." The committee was given until December to improve it. [13]

At a mid-September meeting, the committee discussed the new language's name. Suggestions included "BUSY" (Business System), "INFOSYL" (Information System Language), and "COCOSYL" (Common Computer Systems Language). [41] It is unclear who coined the name "COBOL", [42] [43] although Bob Bemer later claimed it had been his suggestion. [44] [45] [46]

In October, the intermediate-range committee received copies of the FACT language specification created by Roy Nutt. Its features impressed the committee so much that they passed a resolution to base COBOL on it. [47]

This was a blow to the short-range committee, who had made good progress on the specification. Despite being technically superior, FACT had not been created with portability in mind or through manufacturer and user consensus. It also lacked a demonstrable implementation, [13] allowing supporters of a FLOW-MATIC-based COBOL to overturn the resolution. RCA representative Howard Bromberg also blocked FACT, so that RCA's work on a COBOL implementation would not go to waste. [48]

It soon became apparent that the committee was too large to make any further progress quickly. A frustrated Howard Bromberg bought a $15 tombstone (in 1959; equivalent to roughly $160 now) [49] with "COBOL" engraved on it and sent it to Charles Phillips to demonstrate his displeasure. [a] [51] [52]

A subcommittee was formed to analyze existing languages and was made up of six individuals: [9] [53]

The subcommittee did most of the work creating the specification, leaving the short-range committee to review and modify their work before producing the finished specification. [9]

The specifications were approved by the executive committee on 8 January 1960, and sent to the government printing office, which printed them as COBOL 60. The language's stated objectives were to allow efficient, portable programs to be easily written, to allow users to move to new systems with minimal effort and cost, and to be suitable for inexperienced programmers. [54]

The CODASYL Executive Committee later created the COBOL Maintenance Committee to answer questions from users and vendors and to improve and expand the specifications. [55]

During 1960, the list of manufacturers planning to build COBOL compilers grew. By September, five more manufacturers had joined CODASYL (Bendix, Control Data Corporation, General Electric (GE), National Cash Register, and Philco), and all represented manufacturers had announced COBOL compilers. GE and IBM planned to integrate COBOL into their own languages, GECOM and COMTRAN, respectively. In contrast, International Computers and Tabulators planned to replace their language, CODEL, with COBOL. [56]

Meanwhile, RCA and Sperry Rand worked on creating COBOL compilers. The first COBOL program ran on 17 August on an RCA 501. [57] On 6 and 7 December, the same COBOL program (albeit with minor changes) ran on an RCA computer and a Remington-Rand Univac computer, demonstrating that compatibility could be achieved. [58]

The relative influence of the languages that were used is still indicated in the recommended advisory printed in all COBOL reference manuals:

COBOL is an industry language and is not the property of any company or group of companies, or of any organization or group of organizations.

No warranty, expressed or implied, is made by any contributor or by the CODASYL COBOL Committee as to the accuracy and functioning of the programming system and language. Moreover, no responsibility is assumed by any contributor or by the committee in connection therewith. The authors and copyright holders of the copyrighted material used herein are as follows:

FLOW-MATIC (trademark of Unisys Corporation), Programming for the UNIVAC (R) I and II, Data Automation Systems, copyrighted 1958, 1959, by Unisys Corporation; IBM Commercial Translator Form No. F28-8013, copyrighted 1959 by IBM; FACT, DSI 27A5260-2760, copyrighted 1960 by Minneapolis-Honeywell.

They have specifically authorized the use of this material, in whole or in part, in the COBOL specifications. Such authorization extends to the reproduction and use of COBOL specifications in programming manuals or similar publications. [59]

database activities

In 1965 CODASYL formed a List Processing Task Force. This group was chartered to develop COBOL language extensions for processing collections of records; the name arose because Charles Bachman's IDS system (which was the main technical input to the project) managed relationships between records using chains of pointers. In 1967 the group renamed itself the Data Base Task Group (DBTG), and its first report in January 1968 was entitled COBOL extensions to handle data bases.

The "set", the basic structure of the CODASYL database model. A set consists of one owner record and n member records (these are labeled as "parent" and "child" in the diagram, but the CODASYL terminology is "owner" and "member"). In the above example, we were looking at a basic set which embodies a 1:N (Owner:Member) relationship. CodasylB.png
The "set", the basic structure of the CODASYL database model. A set consists of one owner record and n member records (these are labeled as "parent" and "child" in the diagram, but the CODASYL terminology is "owner" and "member"). In the above example, we were looking at a basic set which embodies a 1:N (Owner:Member) relationship.

In October 1969 the DBTG published its first language specifications for the network database model which became generally known as the CODASYL Data Model. This specification in fact defined several separate languages: a data definition language (DDL) to define the schema of the database, another DDL to create one or more subschemas defining application views of the database; and a data manipulation language (DML) defining verbs for embedding in the COBOL programming language to request and update data in the database. Although the work was focused on COBOL, the idea of a host-language independent database was starting to emerge, prompted by IBM's advocacy of PL/I as a COBOL replacement.

In 1971, largely in response to the need for programming language independence, the work was reorganized: development of the Data Description Language was continued by the Data Description Language Committee, while the COBOL DML was taken over by the COBOL language committee. With hindsight, this split had unfortunate consequences. The two groups never quite managed to synchronize their specifications, leaving vendors to patch up the differences. The inevitable consequence was a lack of interoperability among implementations.

A number of vendors implemented database products conforming (roughly) to the DBTG specifications: the best-known implementations were Honeywell'soriginally General Electric'sIntegrated Data Store (IDS/2), HP's IMAGE, Cullinet's Integrated Database Management System IDMS, ICL's 2900 IDMS (derived from Cullinet's product), Univac's DMS-1100, and Digital Equipment Corporation's DBMS for VMS (later known as Oracle Codasyl DBMS). Cullinet, originally known as Cullinane Database Systems, obtained the technology from B.F. Goodrich. Cullinet was eventually sold to Computer Associates, which as of 2007 still sells and supports a version of IDMS.

ANSI and ISO adopted the CODASYL database specifications under the name Network Database Language (NDL), with work taking place within the same working group (X3H2) as SQL standardization. An ISO standard for NDL was ratified as ISO 8907:1987, [61] but, as it never had any practical effect on implementations, it was formally withdrawn in 1998.

Some of the CODASYL committees continue their work today, but CODASYL itself no longer exists. The records of CODASYL were donated to the Charles Babbage Institute. [62] CBI also hold the archival records for American National Standards Institute X3H2 records.

Interest in CODASYL gradually faded due to growing interest in relational databases beginning in the early 1980s.

See also

Notes

  1. The tombstone is currently at the Computer History Museum. [50]

References

Citations

  1. Beyer 2009, p. 282.
  2. Gürer, Denise (1 June 2002). "Pioneering Women in Computer Science". SIGCSE Bull. 34 (2): 175–180. doi:10.1145/543812.543853. ISSN   0097-8418. S2CID   2577644.
  3. Beyer 2009, pp. 281–282.
  4. Sammet 1978a, p. 200.
  5. Flahive, Paul (24 May 2019). "How COBOL Still Powers The Global Economy At 60 Years Old". Texas Public Radio . Archived from the original on 24 May 2019. Retrieved 19 July 2019. (Grace Hopper) Nicknamed Grandma Cobol, the code was based on some of her earlier work. She said — after hearing the rumors — one of her collaborators went out and bought a granite tombstone. "He had the word COBOL cut in the front of it. Then he shipped it express collect to Mr. Phillips in the pentagon." The prank on Charles Phillips, a leader for the project at the defense department, got the attention of the powers that be and was a turning point she said. COBOL would go on to become the most widely used and longest lasting computer languages in history.
  6. Beyer 2009, p. 283.
  7. Beyer 2009, p. 284.
  8. "Early Meetings of the Conference on Data Systems Languages". IEEE Annals of the History of Computing. 7 (4): 316–325. 1985. doi:10.1109/MAHC.1985.10047. S2CID   35625728.
  9. 1 2 3 4 5 Sammet 2004, p. 104.
  10. Beyer 2009, p. 286.
  11. 1 2 Conner 1984, p. ID/9.
  12. Sammet 1978a, p. 201.
  13. 1 2 3 4 Bemer 1971, p. 132.
  14. Beyer 2009, p. 288.
  15. Sammet 1978a, p. 203.
  16. CODASYL 1969, § I.2.1.1.
  17. Sammet 1978a, p. 204.
  18. CODASYL 1969, § I.1.2.
  19. Beyer 2009, p. 290.
  20. Sammet, Jean (1978). "The Early History of COBOL". ACM SIGPLAN Notices. 13 (8): 121–161. doi:10.1145/960118.808378. S2CID   10743643.
  21. Sammet 1978a, p. 217.
  22. Adams, Vicki Porter (5 October 1981). "Captain Grace M. Hopper: the Mother of COBOL". InfoWorld. Vol. 3, no. 20. p. 33. ISSN   0199-6649.
  23. Betts, Mitch (6 January 1992). "Grace Hopper, mother of Cobol, dies". Computerworld. 26 (1): 14.
  24. Lohr, Steve (2008). Go To: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Maverick Scientists, and Iconoclasts—The Programmers Who Created the Software Revolution. Basic Books. p. 52. ISBN   978-0786730766.
  25. "Pioneering software engineer and Cobol co-designer". The Irish Times .
  26. Sammet, Jean E. (March 2000). "The real creators of Cobol". IEEE Software. 17 (2): 30–32. Bibcode:2000ISoft..17b..30S. doi:10.1109/52.841602. ISSN   1937-4194. The Short-Range Committee worked diligently from June 1959 on, but there were great difficulties in having a fairly large committee try to create a programming language. In November, the Short-Range Committee chair appointed six people to develop specifications for consideration: William Selden and Gertrude Tierney (IBM), Howard Bromberg and Norman Discount (RCA), and Vernon Reeves and Jean E. Sammet (Sylvania Electric Products). We worked for two full weeks (including some round-the-clock sessions) in November 1959 and sent the proposed specifications to the full Short-Range Committee, which accepted almost all of them. After some editing (by the same six people), we turned in the specifications as a final report in December to the Executive Committee, which accepted them in January 1960. After some further editing, the Government Printing Office issued Cobol 60. [...] [Grace Hopper] did not participate in its work except through the general guidance she gave to her staff who were direct committee members. Thus, while her indirect influence was very important, regrettably the frequent repeated statements that "Grace Hopper developed Cobol" or "Grace Hopper was a codeveloper of Cobol" or "Grace Hopper is the mother of Cobol" are just not correct.
  27. 1 2 Beyer 2009, p. 292.
  28. Bemer 1971, p. 131.
  29. Beyer 2009, p. 296.
  30. Sammet 1978a, p. 221.
  31. Beyer 2009, p. 291.
  32. "Oral History of Captain Grace Hopper" (PDF). Computer History Museum. December 1980. p. 37. Archived from the original (PDF) on 25 December 2017. Retrieved 28 June 2014.
  33. Sammet 1978a, p. 218.
  34. Marcotty 1978a, p. 268.
  35. Sammet 1978a, pp. 205–206.
  36. 1 2 Sammet 1978a, Figure 8.
  37. Sammet 1978a, pp. 230–231.
  38. ISO/IEC JTC 1/SC 22/WG 4 2001, p. 846.
  39. Sammet 1978a, p. 220.
  40. Sammet 1978a, p. 228.
  41. Sammet 1978a, p. 210.
  42. Bemer 1971, p. 132: We can't find a single individual who admits coining the acronym "COBOL".
  43. Sammet 1978a, p. 210: The next day, the name COBOL was finally agreed to as an acronym for COmmon Business Oriented Language. Unfortunately, my notes do not show who made that suggestion.
  44. Sullivan, Patricia (25 June 2004). "Computer Pioneer Bob Bemer, 84". The Washington Post. p. B06. Retrieved 28 June 2014.
  45. "THE COBOL REPORT - Interview with Bob Bemer - the Father of COBOL". Archived from the original on 2 April 2018.
  46. "THE COBOL REPORT - Interview with Bob Bemer - the Father of COBOL". Archived from the original on 23 December 2003.
  47. Beyer 2009, p. 293.
  48. Beyer 2009, p. 294.
  49. 1634–1699: McCusker, J. J. (1997). How Much Is That in Real Money? A Historical Price Index for Use as a Deflator of Money Values in the Economy of the United States: Addenda et Corrigenda (PDF). American Antiquarian Society. 1700–1799: McCusker, J. J. (1992). How Much Is That in Real Money? A Historical Price Index for Use as a Deflator of Money Values in the Economy of the United States (PDF). American Antiquarian Society. 1800–present: Federal Reserve Bank of Minneapolis. "Consumer Price Index (estimate) 1800–" . Retrieved February 29, 2024.
  50. COBOL Tombstone. Computer History Museum. 1960. Retrieved 29 June 2014.
  51. "The Story of the COBOL Tombstone" (PDF). The Computer Museum Report. 13: 8–9. Summer 1985. Archived (PDF) from the original on 3 April 2014. Retrieved 29 June 2014.
  52. Bemer 1971, p. 130.
  53. Beyer 2009, p. 289.
  54. CODASYL 1969, § I.1.1.
  55. Brown 1976, p. 47.
  56. Bemer 1971, p. 133.
  57. Beyer 2009, p. 297.
  58. Williams, Kathleen Broome (10 November 2012). Grace Hopper: Admiral of the Cyber Sea. US Naval Institute Press. ISBN   978-1612512655. OCLC   818867202.
  59. Compaq Computer Corporation: Compaq COBOL Reference Manual, Order Number: AA–Q2G0F–TK October 2000, Page xviii; Fujitsu Corporation: Net Cobol Language Reference, Version 15, January 2009; IBM Corporation: Enterprise COBOL for z/OS Language Reference, Version 4 Release 1, SC23-8528-00, December 2007
  60. Waldner, Jean-Baptiste (1992). CIM: Principles of Computer Integrated Manufacturing. Chichester: John Wiley & Sons Ltd. p. 47. ISBN   0-471-93450-X.
  61. "Information processing system — Database languages — NDL". Iso 8907:1987.
  62. See a finding guide to Conference on Data Systems Languages Records, 1959-1987. Charles Babbage Institute, University of Minnesota

Sources

Further reading