comp.lang.ada
 help / color / mirror / Atom feed
From: stt@copperfield.camb.inmet.com (Tucker Taft)
Subject: Re: More on Distributed Systems Annex
Date: 1996/09/13
Date: 1996-09-13T00:00:00+00:00	[thread overview]
Message-ID: <DxoFDy.6zC.0.-s@inmet.camb.inmet.com> (raw)
In-Reply-To: 51aj7o$kgs@goanna.cs.rmit.edu.au


Dale Stanbrough (dale@goanna.cs.rmit.edu.au) wrote:

: Jonas Nygren writes:
>  "I had some questions on Annex E, Distributed Systems, DSA, to which I
>  have got good answers. When rereading Annnex E in the RM my inter-
>  pretation is that it is describing ONE program that may be
>  split in partitions that can be distributed over several nodes. 

>  Can I use the DSA features to write a client-server solution the 
>  same way as I could with e.g. RPC. When I look at the examples in the
>  Rational it seems as if I need a unique executable for each client 
>  (partition). This would mean I could not invoke two instances of the
>  same client executable because I would then have two partitions with 
>  the same ID executing at the same time.

>  Is this a property of the partitioning utility or does Annex E
>  prohibit such constructs. Perhaps I have misunderstood the RM
>  once again. 

>   
>  /jonas"

: The book Concurrency In Ada by Burns and Wellings includes a chapter on this
: and concludes...

: 	"The most severe limitation of the Ada partition model is that
: 	 partitions are not first class language objects. Partition types
: 	 cannot be created and therefore instances of partitions...
: 	 cannot be expressed"

: (this is an excellent book and well worth while buying)

I don't think it is quite as grim as Burns and Wellings might imply.  First
of all, if you want multiple instances of things, you can declare a type
or a generic.  The distributed annex supports dynamic binding between
partitions using either remote access-to-subprogram or remote 
access-to-classwide.

The other, perhaps more important point is that the partition IDs
are only really needed for initiating requests, not for replying.
So even if every client ended up with the same partition ID, at
a lower level presumably the PCS could make a distinction between them.

In any case, it would seem a natural extension to explicitly support
the notion of "client" partitions by allowing a "client" partition
to have a Partition ID assigned dynamically, perhaps by a
new version of Establish_RPC_Receiver with an OUT parameter
rather than an IN parameter for the Partition_ID.

: Dale

-Tucker Taft   stt@inmet.com   http://www.inmet.com/~stt/
Intermetrics, Inc.  Cambridge, MA  USA




      reply	other threads:[~1996-09-13  0:00 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-09-12  0:00 More on Distributed Systems Annex Jonas Nygren
1996-09-13  0:00 ` Laurent Pautet
1996-09-13  0:00 ` Dale Stanbrough
1996-09-13  0:00   ` Tucker Taft [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox