The High Order Language Working Group (HOLWG) was a working group instrumental in developing the Ada computer programming language. The group was established in 1975 with the goal of establishing a single high-level programming language appropriate for United States Department of Defense (DoD) real-time embedded computer systems. Colonel William A. Whitaker chaired the group.
The group was centered in the US, but input was solicited from international experts. European experts responded well, which was valuable since language research there, during the prior decade, was more active than in the US. Some highly accomplished academics were paid including Edsger W. Dijkstra, Charles Antony Richard Hoare, and Niklaus Wirth.
HOLWG had three objectives:
Ada is a structured, statically typed, imperative, and object-oriented high-level programming language, extended from Pascal and other languages. It has built-in language support for design by contract (DbC), extremely strong typing, explicit concurrency, tasks, synchronous message passing, protected objects, and non-determinism. Ada improves code safety and maintainability by using the compiler to find errors in favor of runtime errors. Ada is an international technical standard, jointly defined by the International Organization for Standardization (ISO), and the International Electrotechnical Commission (IEC). As of 2020, the standard, called Ada 2012 informally, is ISO/IEC 8652:2012.
Software is a collection of instructions and data that tell a computer how to work. This is in contrast to physical hardware, from which the system is built and actually performs the work. In computer science and software engineering, computer software is all information processed by computer systems, including programs and data. Computer software includes computer programs, libraries and related non-executable data, such as online documentation or digital media. Computer hardware and software require each other and neither can be realistically used on its own.
In computing, a compiler is a computer program that translates computer code written in one programming language into another language. The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a lower level language to create an executable program.
The Steelman language requirements were a set of requirements which a high-level general-purpose programming language should meet, created by the United States Department of Defense in The Department of Defense Common High Order Language program in 1978. The predecessors of this document were called, in order, "Strawman", "Woodenman", "Tinman" and "Ironman".
A straw-man proposal is a brainstormed simple draft proposal intended to generate discussion of its disadvantages and to provoke the generation of new and better proposals. The term is considered American business jargon, but it is also encountered in engineering office culture.
In computer science, control flow is the order in which individual statements, instructions or function calls of an imperative program are executed or evaluated. The emphasis on explicit control flow distinguishes an imperative programming language from a declarative programming language.
The Common Criteria for Information Technology Security Evaluation is an international standard for computer security certification. It is currently in version 3.1 revision 5.
In computer science, specifically software engineering and hardware engineering, formal methods are a particular kind of mathematically rigorous techniques for the specification, development and verification of software and hardware systems. The use of formal methods for software and hardware design is motivated by the expectation that, as in other engineering disciplines, performing appropriate mathematical analysis can contribute to the reliability and robustness of a design.
In computer science, imperative programming is a programming paradigm that uses statements that change a program's state. In much the same way that the imperative mood in natural languages expresses commands, an imperative program consists of commands for the computer to perform. Imperative programming focuses on describing how a program operates.
Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. Software development is a process of writing and maintaining the source code, but in a broader sense, it includes all that is involved between the conception of the desired software through to the final manifestation of the software, sometimes in a planned and structured process. Therefore, software development may include research, new development, prototyping, modification, reuse, re-engineering, maintenance, or any other activities that result in software products.
SPARK is a formally defined computer programming language based on the Ada programming language, intended for the development of high integrity software used in systems where predictable and highly reliable operation is essential. It facilitates the development of applications that demand safety, security, or business integrity.
Barry W. Boehm is an American software engineer, distinguished professor of computer science, industrial and systems engineering; the TRW Professor of Software Engineering; and founding director of the Center for Systems and Software Engineering at the University of Southern California. He is known for his many contributions to the area of software engineering.
APSE standing for Ada Programming Support Environment was a specification for a programming environment to support software development in the Ada programming language. This represented the second stage of the U.S. military Ada project; once the language was implemented, it was felt necessary to specify and implement a standard set of tools, hence the APSE. CAIS-A, Common APSE Interface Set A, was defined in MIL STD-1838A.
The Ada Semantic Interface Specification (ASIS) is a layered, open architecture providing vendor-independent access to the Ada Library Environment. It allows for the static analysis of Ada programs and libraries. It is an open, published interface library that consists of the Ada environment and their tools and applications.
Programming languages are used for controlling the behavior of a machine. Like natural languages, programming languages follow the rules for syntax and semantics.
William Whitaker's WORDS is a computer program that parses the inflection or conjugation of a Latin word, and also translates the root into English. Given an English word, the program outputs Latin translations. The software, written in Ada, is free for download but can be used online through several different hosts as well.
DDC-I, Inc. is a privately held company providing software development of real-time operating systems, software development tools, and software services for safety-critical embedded applications, headquartered in Phoenix, Arizona. It was first created in 1985 as the Danish firm DDC International A/S, a commercial outgrowth of Dansk Datamatik Center, a Danish software research and development organization of the 1980s. The American subsidiary was created in 1986. For many years, the firm specialized in language compilers for the programming language Ada.
Robert Berriedale Keith Dewar was an English-born American computer scientist and educator. He helped to develop programming languages and compilers and was an outspoken advocate of freely licensed open-source software. He was a cofounder, CEO, and president of AdaCore software company. He was also an enthusiastic amateur performer and musician, especially with the Village Light Opera Group in New York City.
Dansk Datamatik Center (DDC) was a Danish software research and development centre that existed from 1979 to 1989. Its main purpose was to demonstrate the value of using modern techniques, especially those involving formal methods, in software design and development.
Marlene Hazle was an American known for her work in computer science throughout the 20th century. She worked at RAND Corporation and Mitre Corporation for development of the Semi-Automatic Ground Environment and AESOP respectively. Hazle eventually became a supervisor and trained military personnel on the SAGE operating system. Hazle continued making contributions to the fields of computer science and aerospace throughout the 20th century.