The Ada Programming Language

Named in honor of Lady Ada, the Ada language was designed for developing reliable, safe and secure software. It has been updated several times since its initial inception in the 1980s and is a language of choice for high-integrity real-time systems. Today Ada is widely used around the globe, for developing critical systems in both government and commercial domains and for teaching and research in university computer science programs.

1975-1978 Requirements documents for a common High-Order Language published (Strawman, Woodenman, Tinman, Ironman, Steelman)

The Ada language effort was an attempt to address the proliferation of programming languages and dialects that plagued the U.S. Department of Defense (DoD) in the 1960s and early 1970s. Project-specific language extensions or subsets meant that source code could rarely be reused or ported across different platforms. To address this issue, a set of requirements (language feature functionality) for real-time embedded systems was formulated, reviewed, and revised in a multistage process.

dod

August 1977-March 1979 Language design competition (CII Honeywell Bull, Intermetrics, SofTech, SRI)

Four contractors were selected for the initial design phase, and to ensure an unbiased review they were identified only by colors in public documents. CII-Honeywell Bull was Green, Intermetrics was Red, SofTech was Blue, and SRI was Yellow. In March 1978 two languages (Green and Red) were selected for the second phase of the design, which lasted one year.

April 1979 Winning design selected: CII Honeywell Bull, under Jean Ichbiah

Although sponsorship was through the US DoD, there was strong international involvement, especially from NATO countries, in both the development and review of the language design.

May 1979 “Ada” chosen as language name, in honor of Ada Lovelace

At a café on the Champs Elysées in Paris, representatives from the language design’s sponsoring organizations met and considered an appropriate name for the new language. “Ada”, suggested by Cmdr. Jack Cooper from the U.S. Navy in honor of Augusta Ada Lovelace, received consensus.

1980 Ada Reference Manual MIL-STD 1815 published
1980 Ada Joint Program Office (AJPO) established

To coordinate Ada policy across the US DoD, a program office was formed under the direction of Larry Druffel.

acm

1981 ACM SIGAda formed

SIGAda — ACM’s Special Interest Group on the Ada Programming Language — was formed as a focal point for the Ada community. SIGAda conducts periodic conferences and workshops and publishes a technical newsletter (Ada Letters).

1981 First Ada-Europe conference (Brussels)

Ada-Europe is an international organization that aims to spread the use and knowledge of Ada and to promote its introduction into academic and research establishments. Ada-Europe represents European interests in Ada and Ada-related matters and holds an annual technical conference.

1983 Ada Compiler Validation Capability (ACVC) test suite published

The ACVC (later known as the ACATS, or Ada Conformance Assessment Test Suite) comprises an extensive set of tests that an implementation needs to pass in order to be considered conformant with the language standard.

1983 ANSI standard Ada Reference Manual published (Ada 83)
1983 NYU’s Ada/Ed implementation of Ada validated against ACVC suite
1984 DEC Ada compiler on VAX/VMS validated against ACVC suite
1986 Ada Expo in Charleston WV, with Sen. Robert Byrd and Secretary of Defense Caspar Weinberger as speakers

Ada was the focus of a series of major conferences and trade shows starting in the mid 1980s, first Ada Expo and then TRI-Ada, featuring key government and industry representatives and attracting several thousand attendees.

1987 International (ISO) standard Ada Reference Manual published (same as ANSI standard Ada 83)
1987 Alsys Ada available on PC/AT, allowing user applications to break the 640K boundary

Ada was the first widely used language available on the PC platform that allowed users to take advantage of the full 20-bit extended memory address space of the 80286.

1988 First TRI-Ada Conference / Exhibition, in Charleston WV (sponsored by ACM SIGAda)
1988 Ada chosen by Boeing for development of B777 software

Although originally sponsored by government defense agencies, the Ada language spread into commercial use. One of the most significant commercial applications was the Boeing 777 airplane, whose software was written largely in Ada.

boeing (Source, Photo by "Greg A L" CC BY 2.0)

1990 “Ada 9X” language revision contractor selected: Intermetrics, under Tucker Taft

Technological advances since the initial Ada design spurred a language revision effort which culminated in a major new version of the standard, Ada 95. New features included support for Object-Oriented Programming, a more general separate compilation facility, a structured mechanism for state-based mutual exclusion, and specialized support for systems programming, real-time systems, and other areas.

1994
adacore-white
Ada Core Technologies (now AdaCore) founded in New York by Robert Dewar, Richard Kenner, and Edmond Schonberg

AdaCore was founded by members of the New York University Computer Science department with the goal of commercializing the language technology that they had developed for Ada 95.

1995 ISO standard Ada Reference Manual published (Ada 95)
1995 Intermetrics Ada 95 compiler for the Patriot Missile Ground Support computer validated against ACVC 2.0
1995 Ada Core Technologies GNAT Ada 95 compiler on SGI/IRIX validated against ACVC 2.0
1996 ACT Europe (now AdaCore) founded in Paris by Cyrille Comar and Franco Gasperoni

AdaCore’s European company was founded by computer scientists who had worked on the GNAT technology at NYU.

1997 Ravenscar tasking profile defined at International Real‑Time Ada Workshop (IRTAW)

Named for the venue of the workshop in the UK where it was first proposed, the Ravenscar profile was a major breakthrough in language technology. It comprises a set of concurrency features that can be used in real-time applications with stringent memory constraints and/or safety certification requirements.

2000 “Corrigendum” for Ada 95 ISO Standard published.
2007 Ada 2005 version of the ISO Ada standard published

Among its various enhancements Ada 2005 introduced abstract interface types similar to Java interfaces, integrated the concurrency features with object-oriented programming, and extended the predefined library with generic containers and other packages.

ada2012

2012 Ada 2012 version of the ISO Ada standard published

Ada 2012 added support for contract-based programming (preconditions, postconditions, type invariants) and a number of other features including enhancements in the area of real-time programming and multicore support.

2012 First SIGAda HILT (High Integrity Language Technology) conference (Boston)

SIGAda initiated a new series of conferences, looking more broadly at the issues underlying the development of critical systems such as those requiring safety or security certification. Keynote speakers included Barbara Liskov and Nancy Leveson from MIT

spark2014

2014 SPARK 2014 language defined as subset of Ada 2012

The SPARK language was originally designed as an Ada language subset augmented with annotations to facilitate mathematical proofs of program properties ranging from absence of run-time errors to compliance with a formal specification. SPARK 2014 takes advantage of Ada 2012’s new features (most notably its support for contract-based programming) to replace the annotations with Ada-compliant syntax. SPARK and Ada can be combined, and verification can use a mix of traditional methods (testing) and formal proof-based techniques.