Information Technology - Programming Languages - Ada
Scope:
1.1 Scope
This International Standard specifies the form and meaning of programs written in Ada. Its purpose is
to promote the portability of Ada programs to a variety of computing systems.
Ada is a programming language designed to support the construction of long-lived, highly reliable
software systems. The language includes facilities to define packages of related types, objects, and
operations. The packages may be parameterized and the types may be extended to support the
construction of libraries of reusable, adaptable software components. The operations may be
implemented as subprograms using conventional sequential control structures, or as entries that
include synchronization of concurrent threads of control as part of their invocation. Ada supports
object-oriented programming by providing classes and interfaces, inheritance, polymorphism of
variables and methods, and generic units. The language treats modularity in the physical sense as
well, with a facility to support separate compilation.
The language provides rich support for real-time, concurrent programming, and includes facilities for
multicore and multiprocessor programming. Errors can be signaled as exceptions and handled
explicitly. The language also covers systems programming; this requires precise control over the
representation of data and access to system-dependent properties. Finally, a predefined environment
of standard packages is provided, including facilities for, among others, input-output, string
manipulation, numeric elementary functions, and random number generation, and definition and use
of containers.
1.1.1 Extent
This International Standard specifies:
The form of a program written in Ada;
The effect of translating and executing such a program;
The manner in which program units may be combined to form Ada programs;
The language-defined library units that a conforming implementation is required to supply;
The permissible variations within the standard, and the manner in which they are to be
documented;
Those violations of the standard that a conforming implementation is required to detect, and
the effect of attempting to translate or execute a program containing such violations;
Those violations of the standard that a conforming implementation is not required to detect.
This International Standard does not specify:
The means whereby a program written in Ada is transformed into object code executable by a
processor;
The means whereby translation or execution of programs is invoked and the executing units
are controlled;
The size or speed of the object code, or the relative execution speed of different language
constructs;
The form or contents of any listings produced by implementations; in particular, the form or
contents of error or warning messages;
The effect of unspecified execution.
The size of a program or program unit that will exceed the capacity of a particular conforming
implementation.
Note: The information provided above was obtained by the Standards Council of Canada (SCC) and is provided as part of a centralized, transparent notification system for new standards development. The system allows SCC-accredited Standards Development Organizations (SDOs), and members of the public, to be informed of new work in Canadian standards development, and allows SCC-accredited SDOs to identify and resolve potential duplication of standards and effort.
Individual SDOs are responsible for the content and accuracy of the information presented here. The text is presented in the language in which it was provided to SCC.