Annex E
(normative)
Distributed Systems
[This Annex defines facilities for supporting the
implementation of distributed systems using multiple partitions working
cooperatively as part of a single Ada program.]
Extensions to Ada 83
{
extensions to Ada 83}
This
Annex is new to Ada 95.
Post-Compilation Rules
{processing node}
{storage node}
{distributed system}
A
distributed system is an interconnection
of one or more
processing nodes (a system resource that has both
computational and storage capabilities), and zero or more
storage
nodes (a system resource that has only storage capabilities, with
the storage addressable by one or more processing nodes).
{distributed program}
A
distributed program comprises one or more
partitions that execute independently (except when they communicate)
in a distributed system.
{configuration (of
the partitions of a program)} The process
of mapping the partitions of a program to the nodes in a distributed
system is called
configuring the partitions of the program.
Implementation Requirements
The implementation shall provide means for explicitly
assigning library units to a partition and for the configuring and execution
of a program consisting of multiple partitions on a distributed system;
the means are implementation defined.
Implementation defined: The means for
creating and executing distributed programs.
Implementation Permissions
An implementation may require that the set of processing
nodes of a distributed system be homogeneous.
1 The partitions comprising a program may
be executed on differently configured distributed systems or on a non-distributed
system without requiring recompilation. A distributed program may be
partitioned differently from the same set of library units without recompilation.
The resulting execution is semantically equivalent.
2 A distributed program retains the same
type safety as the equivalent single partition program.