Previous | Table of Contents | Next |
Once the working group was formed, it agreed on these goals for a common DoD language:
The abstract of the Whitaker (1996) article summarizes the early stages of the actual project very nicely. I have interpolated a few bits of text, in brackets:
The Department of Defense (DoD) High Order Language Commonality program began in 1975 with the goal of establishing a single high order computer programming language appropriate for DoD real-time embedded computer systems. A High Order Language Working Group (HOLWG) was chartered to formulate the DoD requirements for high order languages, to evaluate existing languages against those requirements, and to implement the minimal set of languages required for DoD use.
Other parts of the effort included administrative initiatives toward the eventual goalspecifically, DoD Directive 5000.29 which provided that new defense systems should be programmed in a DoD approved and centrally controlled high order language and DoD Instruction 5000.31 which gave the interim defining list of approved languages. [These included Fortran, COBOL, TACPOL, CMS-2, SPL/1, Jovial J3 and Jovial J73.]
The HOLWG language requirements were widely distributed for comment throughout the military and civil communities worldwide. Each successive version of the requirements, from STRAWMAN [1975] through [WOODENMAN, TINMAN, and IRONMAN, to] STEELMAN [HOLWG, 1978], produced a more refined definition of the proposed language. During the requirement development process, it was determined that the set of requirements generated was both necessary and sufficient for all major DoD applications (and the analogous large commercial applications). Formal evaluations were performed on dozens of existing languages.
It was concluded that no existing language could be adopted as a single common high order language for the DoD, but that a single language meeting essentially all the requirements was both feasible and desirable. Four contractors were funded [in August 1977] to produce competitive prototypes. A first-phase evaluation [starting in February 1978] reduced the designs to two, which were carried to completion. In turn, [in May 1979] a single language design [submitted by the Frenchman Jean Ichbiah and his team at CII-Honeywell Bull] was subsequently chosen. [The Reference Manual and Rationale for this design were published as a two-part set of SIGPLAN Notices, June 1979.]
Follow-on steps included the test and evaluation of the language, control of the language and validation of compilers. The production of compilers and a program development and tool environment were to be accomplished separately by the individual service components. The general requirements and expectations for the environment and the control of the language were addressed in another iterative series of documents. A language validation capability (the test code suite) and associated facilities were established to assure compliance to the language definition of compilers using the name Ada. The name Ada was initially protected by a DoD-owned trademark [which was relinquished, along with the copyright on the Reference Manual, in 1987].
Several refinements of the language design took place between 1979 and 1983. Here is Whitakers (1996) summary of those years:
Upon the completion of the development project in late 1980 the loose organization of the HOLWG was superseded by a DoD Ada Joint Program Office (AJPO), chartered 12 December 1980. This office managed the standardization processes with ANSI and ISO. One consequence of the transition was that this new organization was exclusively involved in the control and support of Ada, not in the overall DoD software problem. While initially proposed and budgeted to generate tools and applications libraries, the AJPO abandoned that role and concerned itself mainly with the control and with DoD policies.
The chief task was to continue to polish the language definition in connection with an ANSI canvass process leading to ANSI, and eventually ISO, standardization. A major challenge was to maintain close international involvement in the development and assure that national and international standards did not differ (a real possibility in the standds world of that time, but much less likely today). Through the usual Ada open process, the definition was refined to MIL-STD 1815A, and this was endorsed by ANSI in February 1983 [U.S. Dept. of Defense 1983], with updated Rationale [Ichbiah et al. 1987]. Ada was endorsed as ISO Standard 8652 in 1987. [The ISO standard was a one-page document incorporating the ANSI standard by reference; there were no technical changes at all.]
One final quotation from Whitaker (1996), about the language evaluation process, is revealing:
Other languages were considered for formal evaluation, but were not included because preliminary examination led one to believe that they would not meet the requirements so were not viable candidates for the purposes of the DoD. One such language was C. At that time DARPA was working with Western Electric/Bell Labs on UNIX, contractually supporting some DARPA contractors and other Government facilities using UNIX. It was the evaluation policy to have the owners provide assessments of their own languages, in addition to the contracted evaluations, so HOLWG took advantage of this connection between DARPA and Bell Labs to request their cooperation. When Bell Labs were invited to evaluate C against the DoD requirements, they said that there was no chance of C meeting the requirements of readability, safety, etc., for which we were striving, and that it should not even be on the list of evaluated languages. We recognized the truth in their observation and honored their request.
Previous | Table of Contents | Next |