This Annex defines facilities for supporting the
implementation of distributed systems using multiple partitions working
cooperatively as part of a single Ada program.
is an interconnection of one or more processing
(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).
A distributed program
comprises one or more partitions that execute independently (except when
they communicate) in a distributed system.
The process of mapping the partitions
of a program to the nodes in a distributed system is called configuring
the partitions of the program
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.
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.