Ada - DoD HOLWG, Col Wm Whitaker, 1993
The next phase of the program was the award of contracts for the "language modification and preliminary design". Alternatively this might be considered an elaborate feasibility proof. The design was to be informal but fairly complete, and to consider the cost and nature of implementations. Although we realized that the product was to be a new language, we got in the habit of using the term "language modification", referring to the plan to start from an existing base. This preliminary design was done from the IRONMAN Revised requirements and was to draw upon the previous work done on evaluations. The syntax was to be fully specified with complete, but informal, semantics. An analysis of the feasibility and cost of implementation were to be produced.
The driving concern of the HOLWG was to assure that the design was guided by a responsible principle investigator, and to preclude "design by committee". On the other hand, picking a single contractor to do the job and trusting to luck would have been imprudent. The procurement was through multiple competitive contracts, with the best products to be selected for continuation to full rigorous definition and developmental implementation. These were contracts with three phases and options to down select (drop competitors) at each break after evaluation and public review. This procurement technique was advocated by Bill Carlson, modeled on an architectural competition.
Monies for these contracts were only from funds of the Services. It is important to make the point that this was a joint program of the Services, not a DARPA program. Although I was working at DARPA and was strongly supported by the Director, George Heilmeier, we were working for DDR&E on this project. DARPA was represented on the HOLWG as a DoD Agency, but there was no DARPA contract money involved during the time I was there. However, DARPA did provide personnel and the major support of the ARPANET. This project was run almost entirely over the net, perhaps the first independent project to do so.
DARPA served as a funnel to collect the monies provided by the Services for these contracts into one pot for administrative convenience. Service funds were transferred on Military Interagency Purchase Requests (MIPRed) to DARPA which issued ARPA Order 3341 to the Defense Supply Service-Washington (DSS-W), the procuring agent, which actually signed contracts and dispersed payments. The individual at DARPA who was actually in charge of all further HOLWG contractual activities was Bill Carlson of the Information Processing Technology Office (IPTO). He was formerly an officer in the Air Force computing center in the Pentagon, so had wide experience with military computing. At this time, he was responsible for a large DARPA university research program, giving him unequaled access to the academic computing community. He was responsible for most of the innovation in the contracting process and for the daily management of the contracts. He particularly represented the computer science and non-military communities to the HOLWG, and his public relations efforts made sure that they were welcomed in the process.
The Statement of Work (SOW) was approved in March, 1977, and a Request for Proposal (RFP), Solicitation No. MDA903 77 R 0082, was released in April, 1977. The DSS-W buyer was Stephan R. Bachhuber. This effort was unusual in that foreign bidders were actively encouraged, and there were several. The quality of these bids was exceptional. I have evaluated thousands in my career, and these had the highest quality, as a group, of any that I have experienced. In fact, I was approached by several well-known firms that told me that in the normal course of business they would have bid, but that this procurement was too important and that others could do a better job. I had never, before or since, heard of such a recommendation for a government program.
The proposals were evaluated by government technical teams, and in August 1977 four contracts were awarded to produce competitive prototypes of the common high order language. There were fourteen bids (some teaming), both U.S. and foreign. The four successful contractors were Cii-Honeywell Bull, Intermetrics, SofTech, and SRI-International.
While different approaches were offered, all four winning contractors proposed to start from Pascal as a base. This restricted the products in form, but would make it easier to compare the results. Any of the three different base languages was acceptable, so the outcome was coincidental. It should be noted that the requirements against which the language was being designed were not those driving Pascal and the result was not be expected to be a superset of Pascal.
The contracts had the normal time constraints. While the project had no hard deadlines, contract administration demands certain adherence to schedules when they are laid out. The philosophy was that we had to do the job right; there was no timetable imposed from above. We did feel an urgency to get the job done while the time was right. We set our own internal schedule and this came out to be very accurate. We scheduled the date of completion of competition and selection of the winning design two years in advance, before the design contracts were let, and met it to with in two days.
During this phase, an advisory committee of military users was established. This advisory committee, with experience from their particular applications areas, helped evaluate those difficult to quantify, but tangible, attributes such as readability, writability, and acceptability by the military users.
The products of Phase I, the preliminary designs, were received in February 1978. The considerable interest that this project generated in the outside community made it possible to seek technical input for the evaluation of these designs from the industrial and academic communities worldwide. Eighty volunteer analysis teams were formed and produced extensive technical analysis of the designs. These teams represented not only language expertise but also the eventual users of the language. In order to make the evaluations as fair as possible, each report was given a color designation; green for Cii, red for Intermetrics, blue for SofTech, and yellow for SRI. There was no other significance to the colors. Of course, this was no guarantee of anonymity and there was no legal requirement to hide the sources, but it seemed like a good idea at the time. This technique has been used elsewhere since. If one were very familiar with the style of a design group, their work would be detectable; however, the sources were concealed from most of the evaluators.
The period available for design was short, but the designs were only preliminary and the purpose of the analyses was to determine which should be continued to completion. On the basis of these analyses, Cii-Honeywell Bull, and Intermetrics were selected to continue and resume work in April 1978, and a Memo [Perry, 1978] (Figure 8) continuing the program was issued by DDR&E. All the evaluation materials were again microfiched and distributed to all participants [HOLWG, 1978a].
As a result of both the designs and the analyses, the requirements were updated in June 1978 to a STEELMAN version [HOLWG, 1978b]. Since this was logically expected to be the final set of requirements, some care was taken to clean it up, and particularly to remove apparent misunderstandings and discrepancies which surfaced as the result of the actual design of the four languages. The rigorous review of the languages by the analysis teams in the context of the requirements was a further exceptional test. It was the specific goal of this revision to assure that the level of the requirements was properly functional, neither too specific nor too general. Some portions of the requirements were deleted or modified as a result of these reviews, and the parallel processing requirements were generalized. The document remains a set of realistic requirements for large-scale systems. As befits the maturity of the project, this version is more direct. Although much of the discussion of previous versions is still valid, it is not repeated here. STEELMAN reads much more like a specification, but it still allows significant flexibility in design decisions. It states specific criteria for a language, but does not describe a language. Figure 9 reproduces the section on syntax requirements.
THE UNDER SECRETARY OF DEFENSE WASHINGTON, D.C. 20301RESEARCH AND ENGINEERING April 11, 1978 MEMORANDUM FOR ASSISTANT SECRETARY OF THE ARMY (RESEARCH, DEVELOPMENT AND ACQUISITION) ASSISTANT SECRETARY OF THE NAVY (RESEARCH, ENGINEERING AND SYSTEMS) ASSISTANT SECRETARY OF THE AIR FORCE (RESEARCH, DEVELOPMENT AND LOGISTICS) DIRECTOR, DEFENSE ADVANCED RESEARCH PROJECTS AGENCY DIRECTOR, DEFENSE COMMUNICATIONS AGENCY SUBJECT: DoD High Order Language Commonality Program The DoD program to produce a common high order computer programming language has passed a major milestone. Four competitive prototype designs were delivered to the government on February 15, 1978. Detailed analysis and comparisons of these designs were performed by 80 defense and civil organizations. On the basis of these analyses and data, and with the technical representatives of the United Kingdom, France, and the Federal Republic of Germany, the High Order Language Working Group (HOLWG) selected two designs to be continued to full language defi- nition. While either of these could result in a successful common language design, the continued competition was regarded as a very impor- tant factor in the program. The two designs exhibit significantly different approaches and act so as to reduce the criticality of undis- covered technical risk. In expectation of success of the final design phase, the High Order Language Working Group is preparing a detailed plan for the introduction and support of the language, the rigorous control of the language both inside and outside the DoD, and the implications of its use in the NATO environment. I commend to your attention the drafting and coordination of this plan. Several independent economic analyses have promised large benefit from the adoption of this modern common language. I solicit your support to make this a reality. William J. Perry
Example from STEELMAN - Technical Requirements
2. General Syntax
2A. Character Set. The full set of character graphics that may be used in source problems shall be given in the language definition. Every source program shall also have a representation that uses only the following 55 character subset of the ASClI graphics:
%&'()*+,-./:;<=>? 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ
Each additional graphic (i.e., one in the full set but not in the 55 character set) may be replaced by a sequence of (one or more) characters from the 55 character set without altering the semantics of the program. The replacement sequence shall be specified in the language definition.
2S. Grammar. The language should have a simple, uniform, and easily parsed grammar and lexical structure. The language shall have free form syntax and should use familiar notations where such use does not conflict with other goals.
2C. Syntactic Extensions. The user shall not be able to modify the source language syntax. In particular the user shall not be able to introduce new precedence rules or to define new syntactic forms.
2D. Other Syntactic Issues. Multiple occurrences of a language defined symbol appearing in the same context shall not have essentially different meanings. Lexical units (i.e., identifiers, reserved words, single and multicharacter symbols, numeric and string literals, and comments) may not cross line boundaries of a source program. All key word forms that contain declarations or statements shall be bracketed (i.e., shall have a closing as well as an opening key word). Programs may not contain unmatched brackets of any kind.
2E. Mnemonic identifiers. Mnemonically significant identifiers shall be allowed. There shall be a break character for use within identifiers. The language and its translators shall not permit identifiers or reserved words to be abbreviated. [Note that this does not preclude reserved words that are abbreviations of natural language words.]
2F. Reserved Words. The only reserved words shall be those that introduce special syntactic forms (such as control structures and declarations) or that are otherwise used as delimiters. Words that may be replaced by identifiers, shall not be reserved (e.g., names of functions, types, constants, and variables shall not be reserved). All reserved words shall be listed in the language definition.
2G. Numeric Literals. There shall be built-in decimal literals. There shall be no implicit truncation or rounding of integer and fixed point literals.
2H. String Literals. There shall be a built-in facility for fixed length string literals. String literals shall be interpreted as one-dimensional character arrays.
2I. Comments. The language shall permit comments that are introduced by a special (one or two character) symbol and terminated by the next line boundary of the source program.
STEELMAN criteria were not for an abstract, ideal language, but one dealing with operational realities. Restrictions on character sets reflect the distribution of input devices across all communities at that time. The goto remained, although restricted, to ensure acceptability in those communities where it was still widely used. (In fact, an argument could be made that there are situations in which the goto is the preferred solution, albeit, very few. It is powerful and it can be easily detected and controlled by management, thereby reducing the dangers of misuse. Fortunately, the user demand relieved us of having to make a decision in this one case.)
Not as part of the competition, but for general technical input, there were two other submissions around this time. A group at Carnegie-Mellon University which had long been supported by DARPA in the compiler field submitted a conceptual design they named "TARTAN" [Shaw, 1978] (another color?). A group from IBM provided a study of what would be the result of cutting and filling PL/I to meet the DoD requirements. Their approach was to reduce the base PL/I by 75% and supplement it by 15%.
Two language designs, those of Cii and Intermetrics (Green and Red), were continued through the second phase of the contract. A full language specification was derived from the informal specification delivered by each in Phase I. In addition to the specification, the contractor produced a "Rationale" and programs of solutions to several applications programming problems. Finally, the contractors were to produce a test translator to test and evaluate the language in actual use. In the end the translator products were insufficiently complete, and perhaps too slow, to provide any input to the evaluation process, contrary to our early expectations.
An elaborate evaluation of the products, which the two contenders delivered on 15 March 1979, was more exhaustive that the earlier semi-final shoot out, since the products were more complete. Again, a number of teams representing various interests, applications, and organizations, analyzed reports from many reviewers. (This raw data was documented on microfiche produced at Eglin AFB after I was transferred there [HOLWG, 1980a].) This time there was an opportunity to question the design teams personally in great depth at a large evaluation meeting held in April 1979 in the Washington, DC area.
On 2 May 1979, a meeting of the HOLWG, including the representatives of the United Kingdom, France, and Germany, selected the design of Cii-Honeywell Bull, code-named "Green" during the competition. Before the last mail that afternoon I reproduced and sent 3000 green postcards announcing "Green is Ada!" The formal announcement to the world was the Duncan letter of 14 May 1979 [Duncan, 1978a] (Figure 10). Within a month I was reassigned to be Technical Director for Digital Applications at the Air Force Armament Laboratory at Eglin AFB, Florida. David Fisher became a government employee and took over my previous job with DDR&E, chairing the HOLWG until he and Carlson left in November 1980, and the HOLWG was superseded by the Ada Joint Program Office.
THE SECRETARY OF DEFENSE WASHINGTON D. C. 20301MAY 14 1979 The Department of Defense High Order Language Commonality program began in 1975 with the goal of establishing a single high order computer programming language appropriate for DoD embedded computer systems. This effort has been characterized by extensive coopera- tion with the European Community and NATO countries have been involved in every aspect of the work. The requirements have been distributed worldwide for comment through the military and civil communities, producing successively more refined versions. Formal evaluations were performed on dozens of existing languages conclud- ing that a single language meeting these requirements was both feasible and desirable. Such a language has now been developed. I wish to encourage your support and participation in this effort, and I submit the design of this language for your review and comment. Such comments and detailed justified change proposals should be for- warded to HOLWG, DARPA, 1400 Wilson Boulevard, Arlington, VA 22209 by 30 November 1979. The language, as amended by such response, will become a Defense standard in early 1980. Before that, changes will be made; after that, we expect that change will be minimal. Beginning in May 1979, the effort will concentrate on the technical test and evaluation of the language, development of compilers and programming tools, and a capability for controlling the language and validating compilers. The requirements and expectations for the environment and the control of the language are being addressed in a series of documents already available to which comment is also invited. We intend that Government-funded compilers and tools will be widely and cheaply available to help promote use of the language. Ada has been chosen as the name for the common language, honoring Ada Augusta, Lady Lovelace, the daughter of the poet, Lord Byron, and Babbage's programmer. C W Duncan Jr DEPUTY
The Reference Manual and the Rationale were published as the June 1979 issue of ACM SIGPLAN Notices (Volume 14, Number 6, June 1979, Parts A & B) [Ada, 1979a; 1979b], in order to get wide exposure for public comment during the early months of testing. This version was known as "Preliminary Ada", to be refined as the result of comments and testing. SIGPLAN had been kept informed during the project [Whitaker, 1977] and Paul Abrahams of SIGPLAN suggested that the Manual be published by SIGPLAN, as had been done for other developments. I contracted with their printer for 3000 additional copies for the HOLWG distribution. I was fairly proud of this connection since not only did we get very wide distribution in the computer science community, but I was able to get the additional copies from the printer at just over $1 a copy. This resulted in an enormous saving over their being printed by the government. I took the precaution of obtaining proper permission to bypass use of the Government Printing Office, as required by Congress for such actions.
"Ada" was chosen as the name for the common language. This honors Ada Augusta, the Countess of Lovelace, the daughter of the poet Lord Byron, and Babbage's "programmer".
In spite of rumor, DOD-1 was never a candidate for the name, and was never used by the HOLWG in any formal context. It was immediately recognized that we were looking for something that could have wide acceptance and that the name should not have a parochial flavor. However, we did sometimes jokingly refer to the whole project as DOD-1, and we used that as the password of the common HOLWG computer account, until we picked "Ada".
It has been reported that Jack Cooper suggested the name "Ada" while sitting with other members of the HOLWG in a sidewalk cafe in Paris in the summer of 1978. I cannot testify to the accuracy of the milieu since I was not in Paris at the time. I do remember that we had long struggled with the question of an appropriate name. A number of suggestions were brought up with no result. This indecision became embarrassing since the selection of a name was a scheduled milestone in the program, and the only one that we missed by more than a few days - we missed this one by over a year!
After the suggestion was made by Cooper at a HOLWG meeting, there was still a fair amount of divergence. Amorosa brought up the book "Faster than Thought" [Bowden, 1953] from which we all learned about Lady Lovelace. (Other biographies [Moore, 1977; Morrison, 1961; Stein, 1985] dwell more on personal aspects, and Baroness Wentworth's own words [Wentworth, 1938] correct Bowden's misrepresentations of her.) Eventually there was a general consensus. Still, it seemed presumptuous to appropriate somebody's name; and even the dead should have some rights. So we took what might be a unique turn. We wrote to the heir of Lady Lovelace and asked permission to use the name "Ada". Phil Wetherall, our UK representative, wrote the letter and there followed this exchange which authorized use of the name [Wetherall, 1978; Lytton, 1978; Duncan, 1978b] (Figures 11-13):
Procurement Executive, Ministry of Defence ROYAL SIGNALS AND RADAR ESTABLISHMENT St. Andrews Road GREAT MALVERN WORCS WR14 3PS Telex 339747-8 Telephone MALVERN (06845) 2733 ext 10th October 1978 The Earl of Lytton Lillycombe PORLOCK Somerset Dear Lord Lytton For some years now, the United States Department of Defense has been engaged in a project to define a new computer programming language for use in weapon systems, as opposed to scientific or business and commercial applications. This effort will shortly reach its climax with the publication of the language design in April 1979. Until now, the language has not had a distinctive name, and the steering committee of the project has been open to suggestions for such a name. The only serious contender, and one the committee would like to adopt, is Ada - in honour of Countess Lovelace. She had the distinction of being amongst the first to appreciate the significance of Charles Babbage's work on the Analytic Engine (ie the forerunner of modern computers) and she was a great presenter of Babbage's ideas. Indeed, she could be called the first programmer. As the representative from the Ministry of Defence to the project, I have been tasked with seeking the concurrence of Lady Lovelace's family to this suggestion. We gather that your mother, 16th Baroness Wentworth, was extremely interested in her grandmother, and so I am writing to you in the first instance to seek your approval of this suggestion. If you believe that other members of the family, for example Lord Lovelace, should also be approached, I will do so with alacrity, but it has been suggested that your branch of the family are the "heirs" to the computing influence of Lady Lovelace as a result of Lady Wentworth's interest. In the book "Faster than Thought" by Dr Bowden (Pitman 1953) Lady Wentworth is recorded as possessing many of Lady Lovelace's letters. This new programming language is likely to have a considerable impact on the community of those concerned with computing, and could well sponsor a revival of interest in Lady Lovelace if the name Ada is chosen. I have been asked to discover whether these letters are still in your family's possession and, if not, where they could be located. If you would like more information on the project, I shall be only too happy to oblige. Fortunately this is not an area in which secrecy is a matter of concern. Yours sincerely P R Wetherall Principal Scientific Officer Computer Applications Division
HOUSE OF LORDS - WESTMINSTER 18 October 1978 Keeper Knight's Pound Hill Crawley -Sussex RH10 3PB Dear Mr. Wetherall, Your letter of 10 October comes to the right person and this is now my address. Ada was Byron's daughter. She married William King, the first Earl of Lovelace as his first wife. William and Ada begat (Ralph - 2nd Earl (Anne - married W. S. Blunt. (Wilfrid) Ralph's line died out but he made a will trust in favor of his sister Anne's daughter and her descendants. He wrote a book called "Astarte" and made a collection of papers called the "Lovelace Papers". He also resuscitated the older title of Wentworth which can be taken by daughters in the absence of sons. At his death his title of Lovelace went to the son of his father out of a second wife: the title of Wentworth went to his daughter who died childless: on her death the Wentworth Barony went to his sister Anne for a few weeks before her death. Anne & Wilfrid begat Judith who married Neville Lytton later 3rd Earl of Lytton and became 16 Baroness Wentworth on the death of her mother Anne. Neville became 3rd Earl after the dissolution of his first marriage to Judith. Judith & Neville begat Anthony (myself) and 2 girls (both childless). On the death of Neville, Anthony became 4th Earl of Lytton; On the death of Judith Anthony became 17th Baron Wentworth. Anthony married Clare Palmar and begat John (Viscount Knebworth) Roland (The Hon. R. Lytton) - all young Caroline Lytton all unmarried as yet Lucy Lytton Sarah Lytton From this you will see that I am directly descended from Ada and the present Earl of Lovelace is not. We have a common ancestor in William but he is out of the 2nd wife, I am out of the first. Doris Langley Moore has written a book on Ada. Professor Bowden's book "Faster Than Thought" pays a fair tribute to Ada but suggests something like an acclaim on the part of Judith whose mathematical acumen certainly did not enable her to breed Arabian horses that won races in world record times from 1/2 mile to 300 miles. I do not think you will find an Arabian horse among the names in any Epson Derby and its equivalent elsewhere. The Science Museum gave prominence to Ada in their Babbage Exhibit - several years ago. I inherited the Lovelace papers (including some Ada letters) and they are now deposited at the Bodlean Oxford for students to consult - The deposit is in the name of my son John. I think we shall all be happy if you name your Radar Language "Ada" in honour of Ada Lovelace. By chance the name already lies at the heart of RADAR. Yours Sincerely, Lytton
THE SECRETARY OF DEFENSE WASHINGTON D. C. 20301 MAY 14, 1979The Earl of Lytton Keeper Knight's Pound Hill Crawley Sussex RH10 3PB England Dear Lord Lytton: The United States Department of Defense would like to express its thanks to you and your family for permission to use the name of your ancestor in connection with a new common computer programming language for military systems. Ada Augusta Byron, Lady Lovelace, was a woman of exceptional ability and wit. Her pioneering work in describing the procedures through which a computer solves a useful problem, a discipline we now call programming, is still fresh after more than a century. We believe that she would have appreciated this new language for computer programmers designed specifically for precision and clarity. The US DoD and the British Ministry of Defence have been cooperating in producing the language for programming military computer systems. After an extensive requirements and study phase, several candidate designs were produced and, on 2 May 1979, a selection was made between competing definitions. We now have a language which we can designate "Ada". The next few months will be a period of testing and polishing of the definition. In 1980 we will begin to use Ada in the development of large military systems. There appears to be a pressing need for such an advanced programming language outside the Defense community, and this project has received a great deal of attention from industry. It is our expectation that Ada and the associated programming facilities will see very widespread international use. We hope that it will serve as a fitting reminder of a lady of great talent and foresight. Sincerely, C. W. Duncan, Jr. DEPUTY
|PREVIOUS PAGE||CONTENTS||NEXT PAGE|