9.4 Annex E - Distributed systems annex.
Ada95 has added support for distributed systems, where the application is distributed across a number of separate computation systems. The model for this is based around the idea of a number of co-operating partitions available across a number of co-operating processing nodes. The language specification defines how these partitions are to look, what restrictions are to be placed on distributed programs and how the run time system manages calls between partitions. The specification does not however describe how one configures the distributed system, how partitions identify themselves to other active partitions and how partitions manage a number of concurrent connections.
9.4.1 Partitions and Library units.
So far we have always talked about an Ada program or an Ada application, a single entity you can see. This view breaks down in a distributed system, so for example we have so far assumed:
In a distributed system there are many such programs working in co-operation, in such a system each distinct component is called a partition. An Ada95 distributed system is therefore a collection of one or more partitions co-operating across process and machine boundaries to provide a complete application.
Partitions exist in two forms, active and passive, to facilitate both distributed processing and shared data within the application. Active partitions equate to our current definition of an application and communicate by using Remote Procedure Calls (RPC). Passive partitions provide shared types and shared data which can be shared between active partitions.
All communication between active partitions is through the language specified Partition Communication Subsystem (PCS) of which the package System.RPC is a part. The PCS defines the way in which remote calls are made, it does not specify what physical medium is used to transmit the messages.
Copyright ©
1996 Simon Johnston &
Addison Wesley Longman