comp.lang.ada
 help / color / mirror / Atom feed
From: Robert Dewar <dewar@gnat.com>
Subject: Re: ACE functionality in Ada
Date: 1999/05/16
Date: 1999-05-16T00:00:00+00:00	[thread overview]
Message-ID: <7hmapp$j3h$1@nnrp1.deja.com> (raw)
In-Reply-To: 373D89CE.C09BCDB2@home.com

In article <373D89CE.C09BCDB2@home.com>,
  bbardin@home.com wrote:
> The main thing that is required for distributed use in a
> heterogeneous network is to make the message format
> architecturally neutral (and the same for every node).  One
> way to achieve that is to use a textual form, which is what
> GLADE does.  The compiler must generate the same format
> for the messages regardless of the architecture of the target,
> which is achieved by using the same compiler (gnat) for each
> target.

Several points.

First, yes, the GLADE/GNAT combination fully supports
heterogenous distribution.

No, this feature is not required by the RM. It is fair to say
that the RM was designed primarily with the intention of
supporting homogenous distribution, but in practice we have
found no respect in which the definition inteferes with full
heterogenous distribution. There are some slight difficulties
that appear if multiple highly incompatible versions of
Standard are around (e.g. an Integer in one implementation
may be out of range of an Integer in another implementation),
but by following the (in any case desirable) approach of
avoiding implementation dependent types in Standard, this
problem is eliminated.

As for "using a text format", that's a bit misleading. The only
requirement is that an architecture neutral format be used for
streams. In the case of GNAT/GLADE, for heterogenous
distribution, the format used is XDR (which is an international
standard for architecture neutral representation of internal
computer data).

As for "using the same compiler (gnat) for each target", it is
not at all clear that this is necessary in theory, since it is
quite possible in practice for another compiler to be compatible
with the XDR formats used by GNAT.

Of course in real life, so far, the only implementation that
supports Annex E is GNAT, so using any compiler that supports
Annex E and using GNAT mean the same thing at the moment!

Robert Dewar
Ada Core Technologies


--== Sent via Deja.com http://www.deja.com/ ==--
---Share what you know. Learn what you don't.---




      reply	other threads:[~1999-05-16  0:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-05-13  0:00 ACE functionality in Ada Larry Hazel
1999-05-13  0:00 ` dennison
1999-05-13  0:00   ` Larry Hazel
1999-05-15  0:00     ` Bryce Bardin
1999-05-16  0:00       ` Robert Dewar [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