comp.lang.ada
 help / color / mirror / Atom feed
* Distributed Computing in Ada
@ 2009-08-24 13:22 Allison Beh
  2009-08-24 13:45 ` Jacob Sparre Andersen
                   ` (4 more replies)
  0 siblings, 5 replies; 27+ messages in thread
From: Allison Beh @ 2009-08-24 13:22 UTC (permalink / raw)


Hi,

To do distributed computing in Ada, what are the software components
needed? Are libflorist and libpvm necessary? What about in Mac OS X
platform? Is Bonjour needed? Much appreciated if someone can kindly
shed some light on it. Thanks in advance.


Regards,
Allison Beh



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-08-24 13:22 Distributed Computing in Ada Allison Beh
@ 2009-08-24 13:45 ` Jacob Sparre Andersen
  2009-08-24 16:49 ` Georg Bauhaus
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 27+ messages in thread
From: Jacob Sparre Andersen @ 2009-08-24 13:45 UTC (permalink / raw)


Allison Beh wrote:

> To do distributed computing in Ada, what are the software components
> needed?

An Ada compiler supporting annex E should be enough.  Some versions of
GCC (GNAT) can supposedly do the job.  (I've never tried myself.)

> Are libflorist and libpvm necessary? What about in Mac OS X
> platform? Is Bonjour needed? Much appreciated if someone can kindly
> shed some light on it. Thanks in advance.

You could roll your own solution using sockets (for example using
Ada_Sockets or GNAT.Sockets) or a distributed programming API (such as
MPI).

Greetings,

Jacob
-- 
Photos from LinuxDay2005 in Cagliari:
                        http://linuxday.gulch.it/2005/album/



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-08-24 13:22 Distributed Computing in Ada Allison Beh
  2009-08-24 13:45 ` Jacob Sparre Andersen
@ 2009-08-24 16:49 ` Georg Bauhaus
  2009-09-05  9:31   ` Allison Beh
  2009-08-25 11:58 ` Gene
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 27+ messages in thread
From: Georg Bauhaus @ 2009-08-24 16:49 UTC (permalink / raw)


Allison Beh schrieb:
> Hi,
> 
> To do distributed computing in Ada, what are the software components
> needed? Are libflorist and libpvm necessary? What about in Mac OS X
> platform? Is Bonjour needed? Much appreciated if someone can kindly
> shed some light on it. Thanks in advance.

Have you seen PolyORB yet?
http://libre.adacore.com/libre/tools/polyorb/



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-08-24 13:22 Distributed Computing in Ada Allison Beh
  2009-08-24 13:45 ` Jacob Sparre Andersen
  2009-08-24 16:49 ` Georg Bauhaus
@ 2009-08-25 11:58 ` Gene
  2009-08-25 12:00 ` Gene
  2009-08-28 15:00 ` Per Sandberg
  4 siblings, 0 replies; 27+ messages in thread
From: Gene @ 2009-08-25 11:58 UTC (permalink / raw)


On Aug 24, 9:22 am, Allison Beh <allir...@gmail.com> wrote:
> Hi,
>
> To do distributed computing in Ada, what are the software components
> needed? Are libflorist and libpvm necessary? What about in Mac OS X
> platform? Is Bonjour needed? Much appreciated if someone can kindly
> shed some light on it. Thanks in advance.
>
> Regards,
> Allison Beh




^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-08-24 13:22 Distributed Computing in Ada Allison Beh
                   ` (2 preceding siblings ...)
  2009-08-25 11:58 ` Gene
@ 2009-08-25 12:00 ` Gene
  2009-08-27 15:28   ` Robert A Duff
  2009-08-28 15:00 ` Per Sandberg
  4 siblings, 1 reply; 27+ messages in thread
From: Gene @ 2009-08-25 12:00 UTC (permalink / raw)


On Aug 24, 9:22 am, Allison Beh <allir...@gmail.com> wrote:
> Hi,
>
> To do distributed computing in Ada, what are the software components
> needed? Are libflorist and libpvm necessary? What about in Mac OS X
> platform? Is Bonjour needed? Much appreciated if someone can kindly
> shed some light on it. Thanks in advance.
>
> Regards,
> Allison Beh

Ada anticipated the need for distributed computing support in its
original design.  See ALRM Annex E.  PolyORB, which has been
mentioned, is one implementation.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-08-25 12:00 ` Gene
@ 2009-08-27 15:28   ` Robert A Duff
  2009-08-27 23:27     ` Jeffrey R. Carter
  0 siblings, 1 reply; 27+ messages in thread
From: Robert A Duff @ 2009-08-27 15:28 UTC (permalink / raw)


Gene <gene.ressler@gmail.com> writes:

> Ada anticipated the need for distributed computing support in its
> original design.  See ALRM Annex E.

Well, not exactly the "original" design -- Annex E was not present in
Ada 83, and was added in Ada 95.

>...PolyORB, which has been
> mentioned, is one implementation.

Yes, PolyORB implements the Annex E Distributed Systems stuff.
It also implements CORBA, SOAP, and a bunch of other protocols,
making it feasible to have Ada programs talking to non-Ada
programs across the net.

- Bob



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-08-27 15:28   ` Robert A Duff
@ 2009-08-27 23:27     ` Jeffrey R. Carter
  2009-08-28  0:35       ` Robert A Duff
  0 siblings, 1 reply; 27+ messages in thread
From: Jeffrey R. Carter @ 2009-08-27 23:27 UTC (permalink / raw)


Robert A Duff wrote:
> 
> Well, not exactly the "original" design -- Annex E was not present in
> Ada 83, and was added in Ada 95.

Ada 83 had support for distribution. Tasks may run on separate processors; these 
processors need not all be part of the same computer. There was no 
language-defined way to specify which tasks run on which processors, but that's 
true with Annex E, too.

-- 
Jeff Carter
"Spam! Spam! Spam! Spam! Spam! Spam! Spam! Spam!"
Monty Python's Flying Circus
53



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-08-27 23:27     ` Jeffrey R. Carter
@ 2009-08-28  0:35       ` Robert A Duff
  2009-08-28  4:07         ` abyhoe
                           ` (2 more replies)
  0 siblings, 3 replies; 27+ messages in thread
From: Robert A Duff @ 2009-08-28  0:35 UTC (permalink / raw)


"Jeffrey R. Carter" <spam.jrcarter.not@spam.acm.org> writes:

> Robert A Duff wrote:
>> Well, not exactly the "original" design -- Annex E was not present in
>> Ada 83, and was added in Ada 95.
>
> Ada 83 had support for distribution. Tasks may run on separate
> processors; these processors need not all be part of the same
> computer.

Well, sort of, but not in a practical way.  Ada tasks share memory, and
there's no way to tell which variables are shared.  "Distributed" means
no shared memory.

I actually implemented such a system for Ada 83, where tasks could run
on different computers.  But there were some severe restrictions on
shared variables.  Terminate alternatives are "interesting" in that
context.

>...There was no language-defined way to specify which tasks run
> on which processors, but that's true with Annex E, too.

Yes.  But with Annex E there is a requirement that the implementation
provide some such mechanism.

- Bob



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-08-28  0:35       ` Robert A Duff
@ 2009-08-28  4:07         ` abyhoe
  2009-08-28  8:34           ` Ludovic Brenta
  2009-08-28  4:19         ` Jeffrey R. Carter
       [not found]         ` <cd917fe6-d84c-47bc-b00e-76baae76ec6e@u16g2000pru.googlegroups.com>
  2 siblings, 1 reply; 27+ messages in thread
From: abyhoe @ 2009-08-28  4:07 UTC (permalink / raw)


I remembered I played with florist many years ago.Its website
(http://
www.cs.fsu.edu/~baker/florist.html) indicates that the latest update
was in 2003. I still can find florist lib package at Ubuntu and
Debian.

If my memory serves me correct, there were a few distributed examples
(one of them was Sieve of Eratosthenes) that came with the florist
package. Can someone please verify that?

I am a little bit curious on this: Does Ada require PolyOrb etc to
support Annex E?

--
Adrian Hoe
http://adrianhoe.com


On Aug 28, 8:35 am, Robert A Duff <bobd...@shell01.TheWorld.com>
wrote:
> "Jeffrey R. Carter" <spam.jrcarter....@spam.acm.org> writes:
>
> > Robert A Duff wrote:
> >> Well, not exactly the "original" design -- Annex E was not present in
> >> Ada 83, and was added in Ada 95.
>
> > Ada 83 had support for distribution. Tasks may run on separate
> > processors; these processors need not all be part of the same
> > computer.
>
> Well, sort of, but not in a practical way.  Ada tasks share memory, and
> there's no way to tell which variables are shared.  "Distributed" means
> no shared memory.
>
> I actually implemented such a system for Ada 83, where tasks could run
> on different computers.  But there were some severe restrictions on
> shared variables.  Terminate alternatives are "interesting" in that
> context.
>
> >...There was no language-defined way to specify which tasks run
> > on which processors, but that's true with Annex E, too.
>
> Yes.  But with Annex E there is a requirement that the implementation
> provide some such mechanism.
>
> - Bob




^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-08-28  0:35       ` Robert A Duff
  2009-08-28  4:07         ` abyhoe
@ 2009-08-28  4:19         ` Jeffrey R. Carter
  2009-08-28 12:24           ` Robert A Duff
       [not found]         ` <cd917fe6-d84c-47bc-b00e-76baae76ec6e@u16g2000pru.googlegroups.com>
  2 siblings, 1 reply; 27+ messages in thread
From: Jeffrey R. Carter @ 2009-08-28  4:19 UTC (permalink / raw)


Robert A Duff wrote:
> 
> Well, sort of, but not in a practical way.  Ada tasks share memory, and
> there's no way to tell which variables are shared.  "Distributed" means
> no shared memory.

Ada tasks /can/ share memory, but they don't have to. The rendezvous seems like 
it would map nicely to message passing.

> I actually implemented such a system for Ada 83, where tasks could run
> on different computers.  But there were some severe restrictions on
> shared variables.  Terminate alternatives are "interesting" in that
> context.

Yes, there would have to be some mechanism to deal with shared variables; the 
simplest would be simply to outlaw access to non-local variables in tasks if you 
want to run your program on a distributed system.

-- 
Jeff Carter
"Spam! Spam! Spam! Spam! Spam! Spam! Spam! Spam!"
Monty Python's Flying Circus
53



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-08-28  4:07         ` abyhoe
@ 2009-08-28  8:34           ` Ludovic Brenta
  2009-08-28  8:57             ` abyhoe
  2009-08-28 13:25             ` John McCabe
  0 siblings, 2 replies; 27+ messages in thread
From: Ludovic Brenta @ 2009-08-28  8:34 UTC (permalink / raw)


Adrian Hoe wrote on comp.lang.ada:
> I remembered I played with florist many years ago.Its website
> (http://www.cs.fsu.edu/~baker/florist.html) indicates that the latest update
> was in 2003. I still can find florist lib package at Ubuntu and
> Debian.
>
> If my memory serves me correct, there were a few distributed examples
> (one of them was Sieve of Eratosthenes) that came with the florist
> package. Can someone please verify that?

I think you are confusing FLORIST (an implementation of POSIX.5) with
GLADE (GNAT Library for Ada Distributed Execution) which was in Debian
3.1 and 4.0 under the name "gnat-glade". GLADE does not work with
gnat-4.3 and so we dropped it from Debian 5.0.

> I am a little bit curious on this: Does Ada require PolyOrb etc to
> support Annex E?

PolyORB is the successor to GLADE, so the answer is yes.

--
Ludovic Brenta.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
       [not found]         ` <cd917fe6-d84c-47bc-b00e-76baae76ec6e@u16g2000pru.googlegroups.com>
@ 2009-08-28  8:40           ` Jacob Sparre Andersen
  2009-08-28 12:29           ` Robert A Duff
  1 sibling, 0 replies; 27+ messages in thread
From: Jacob Sparre Andersen @ 2009-08-28  8:40 UTC (permalink / raw)


abyhoe <abyhoe@gmail.com> wrote:

> If my memory serves me correct, there were a few distributed
> examples (one of them was Sieve of Eratosthenes) that came with the
> florist package. Can someone please verify that?

They aren't in the Debian package.

> I am a little bit curious on this: Does Ada require PolyOrb etc to
> support Annex E?

No.  PolyOrb is just one annex E implementation for one compiler.

Greetings,

Jacob
-- 
"Preserve wildlife, pickle a duck."



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-08-28  8:34           ` Ludovic Brenta
@ 2009-08-28  8:57             ` abyhoe
  2009-08-28  9:03               ` abyhoe
  2009-08-28 13:25             ` John McCabe
  1 sibling, 1 reply; 27+ messages in thread
From: abyhoe @ 2009-08-28  8:57 UTC (permalink / raw)


On Aug 28, 4:34 pm, Ludovic Brenta <ludo...@ludovic-brenta.org> wrote:
> Adrian Hoe wrote on comp.lang.ada:
>
> > I remembered I played with florist many years ago.Its website
> > (http://www.cs.fsu.edu/~baker/florist.html) indicates that the latest update
> > was in 2003. I still can find florist lib package at Ubuntu and
> > Debian.
>
> > If my memory serves me correct, there were a few distributed examples
> > (one of them was Sieve of Eratosthenes) that came with the florist
> > package. Can someone please verify that?
>
> I think you are confusing FLORIST (an implementation of POSIX.5) with
> GLADE (GNAT Library for Ada Distributed Execution) which was in Debian
> 3.1 and 4.0 under the name "gnat-glade". GLADE does not work with
> gnat-4.3 and so we dropped it from Debian 5.0.
>
> > I am a little bit curious on this: Does Ada require PolyOrb etc to
> > support Annex E?
>
> PolyORB is the successor to GLADE, so the answer is yes.
>
> --
> Ludovic Brenta.


Ludovic,

Thanks. You refreshed my memory. Yes, I remember now, I used FLORIST
for some RS-232 communication on Solaris and SuSE Linux.

Yes, that's GLADE.

--
Adrian Hoe
http://adrianhoe.com



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-08-28  8:57             ` abyhoe
@ 2009-08-28  9:03               ` abyhoe
  2009-08-28  9:33                 ` Ludovic Brenta
  0 siblings, 1 reply; 27+ messages in thread
From: abyhoe @ 2009-08-28  9:03 UTC (permalink / raw)


On Aug 28, 4:57 pm, abyhoe <aby...@gmail.com> wrote:
> On Aug 28, 4:34 pm, Ludovic Brenta <ludo...@ludovic-brenta.org> wrote:
>
>
>
>
>
> > Adrian Hoe wrote on comp.lang.ada:
>
> > > I remembered I played with florist many years ago.Its website
> > > (http://www.cs.fsu.edu/~baker/florist.html) indicates that the latest update
> > > was in 2003. I still can find florist lib package at Ubuntu and
> > > Debian.
>
> > > If my memory serves me correct, there were a few distributed examples
> > > (one of them was Sieve of Eratosthenes) that came with the florist
> > > package. Can someone please verify that?
>
> > I think you are confusing FLORIST (an implementation of POSIX.5) with
> > GLADE (GNAT Library for Ada Distributed Execution) which was in Debian
> > 3.1 and 4.0 under the name "gnat-glade". GLADE does not work with
> > gnat-4.3 and so we dropped it from Debian 5.0.
>
> > > I am a little bit curious on this: Does Ada require PolyOrb etc to
> > > support Annex E?
>
> > PolyORB is the successor to GLADE, so the answer is yes.
>
> > --
> > Ludovic Brenta.
>
> Ludovic,
>
> Thanks. You refreshed my memory. Yes, I remember now, I used FLORIST
> for some RS-232 communication on Solaris and SuSE Linux.
>
> Yes, that's GLADE.
>
> --
> Adrian Hoehttp://adrianhoe.com




http://gnat-glade.sourceforge.net/

Some of the links do not seem to work anymore. :(

Where can I get a copy of GLADE and examples source?

--
Adrian Hoe
http://adrianhoe.com



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-08-28  9:03               ` abyhoe
@ 2009-08-28  9:33                 ` Ludovic Brenta
  0 siblings, 0 replies; 27+ messages in thread
From: Ludovic Brenta @ 2009-08-28  9:33 UTC (permalink / raw)


Adrian Hoe wrote on comp.lang.ada:
> http://gnat-glade.sourceforge.net/
>
> Some of the links do not seem to work anymore. :(
>
> Where can I get a copy of GLADE and examples source?

Why, from Debian 4.0 "Etch" of course. And for that price you'll ger
it precompiled and ready to use with gnat-4.1. (Reminder: you can
install Etch in a chroot on any GNU/Linux system; I installed Etch
that way on a Gentoo system once.).

--
Ludovic Brenta.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-08-28  4:19         ` Jeffrey R. Carter
@ 2009-08-28 12:24           ` Robert A Duff
  2009-08-28 18:57             ` Jeffrey R. Carter
  0 siblings, 1 reply; 27+ messages in thread
From: Robert A Duff @ 2009-08-28 12:24 UTC (permalink / raw)


"Jeffrey R. Carter" <spam.jrcarter.not@spam.acm.org> writes:

> Robert A Duff wrote:
>> Well, sort of, but not in a practical way.  Ada tasks share memory, and
>> there's no way to tell which variables are shared.  "Distributed" means
>> no shared memory.
>
> Ada tasks /can/ share memory, but they don't have to.

The problem is that the compiler can't know which variables are shared.
Maybe no variables are shared, and all communication is via rendezvous,
but if the compiler doesn't know that, it's no help.

For example:

    package body P is
        Global : Integer := 0;
        
        procedure Q is
        begin
            Global := Global + 1;
        end Q;
    end P;

Is Global shared?  It depends on who calls it.  Elsewhere we might have:

    task type T is
        entry E;
    end T;

    task body T is
    begin
        loop
            select
                accept E do
                    P.Q; -- Read and write shared variable.

                ... --etc.
        end loop;
    end T;

    A : array (...) of T;

Now we have a bunch of tasks accessing shared variable Global,
all correctly synchronized by the rendezvous.  But the compiler
didn't know it was shared when it compiled package body P.
And when it compiled tasks T, it didn't know P.Q modifies
any variable.

You could do a whole-program / link-time analysis, but that doesn't
scale well (Ada was designed to support separate compilation for a
reason!).  And even that won't always work -- consider possibly-shared
variables in the heap, where the compiler can't know what points at
what (see halting problem).

All in all, in this regard, I'd say Ada 83 tasks are just like the
"threads" of various languages and operating systems (Posix threads,
Java threads...) -- all these are designed with the assumption
of a shared address space.  Ada 95 protected types are designed
with the same assumption.

>...The rendezvous
> seems like it would map nicely to message passing.

Yes, it is.  That's how we did it -- basically, an entry call sends a
message, and at the end of the accept, the called task sends a message
back to the caller.  It's tricky, though -- what happens if one of
the entry parameters points into the address space of the caller, either
via an explicit access value, or via implicit pass-by-reference?
That's bad -- the data really needs to get copied across the network.

Note that this was Ada 83, so it predated protected types.

>> I actually implemented such a system for Ada 83, where tasks could run
>> on different computers.  But there were some severe restrictions on
>> shared variables.  Terminate alternatives are "interesting" in that
>> context.
>
> Yes, there would have to be some mechanism to deal with shared
> variables; the simplest would be simply to outlaw access to non-local
> variables in tasks if you want to run your program on a distributed
> system.

Depends what you mean by "outlaw".  If you mean "illegal", so you get an
error message at compile time, that won't work.  You could give an error
message at "link time", but only by being overly conservative (that is,
outlawing perfectly-OK programs).  You could say it's erroneous to
access shared variables (so it leads to unpredictable behavior) -- that
works fine, but it's obviously not ideal.  Or you could implement
a distributed shared address space via message passing, but I fear that
would be prohibitively expensive.

Ada 95's Distributed Systems Annex solves all this mess, by allowing the
compiler to know which variables are shared.  The unit of distribution
is the "partition", not the "task".  Usually, no variables are shared
across partitions -- but it's important for the compiler to know when
that's the case.

- Bob



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
       [not found]         ` <cd917fe6-d84c-47bc-b00e-76baae76ec6e@u16g2000pru.googlegroups.com>
  2009-08-28  8:40           ` Jacob Sparre Andersen
@ 2009-08-28 12:29           ` Robert A Duff
  1 sibling, 0 replies; 27+ messages in thread
From: Robert A Duff @ 2009-08-28 12:29 UTC (permalink / raw)


abyhoe <abyhoe@gmail.com> writes:

> I am a little bit curious on this: Does Ada require PolyOrb etc to
> support Annex E?

I'm not sure what you mean.  Ada requires something like PolyORB to
support Annex E.  But PolyORB is just one implementation of Annex E,
and it also supports much more than Annex E (for example, it supports
CORBA, which is a whole 'nother way of doing distributed systems).

PolyORB is part of GNAT.  It wouldn't work to just compile PolyORB using
some other Ada compiler that doesn't know about PolyORB, because it
depends on certain features of GNAT.  For example, the GNAT compiler
knows how to generate the "client stubs" and "server stubs" that are
used to implement remote procedure calls in PolyORB.

Does that answer your question?

- Bob



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-08-28  8:34           ` Ludovic Brenta
  2009-08-28  8:57             ` abyhoe
@ 2009-08-28 13:25             ` John McCabe
  2009-08-28 13:38               ` Ludovic Brenta
  1 sibling, 1 reply; 27+ messages in thread
From: John McCabe @ 2009-08-28 13:25 UTC (permalink / raw)


On Fri, 28 Aug 2009 01:34:23 -0700 (PDT), Ludovic Brenta
<ludovic@ludovic-brenta.org> wrote:

>> I am a little bit curious on this: Does Ada require PolyOrb etc to
>> support Annex E?

>PolyORB is the successor to GLADE, so the answer is yes.

Make sure you check out Bob Duff's response to this question, it's a
little more generic. He says that something _like_ PolyORB is required
to support Annex E but it doesn't _need_ to be PolyORB.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-08-28 13:25             ` John McCabe
@ 2009-08-28 13:38               ` Ludovic Brenta
  2009-08-28 14:59                 ` Robert A Duff
  0 siblings, 1 reply; 27+ messages in thread
From: Ludovic Brenta @ 2009-08-28 13:38 UTC (permalink / raw)


John McCabe wrote on comp.lang.ada:
> On Fri, 28 Aug 2009 01:34:23 -0700 (PDT), Ludovic Brenta
>
> <ludo...@ludovic-brenta.org> wrote:
> >> I am a little bit curious on this: Does Ada require PolyOrb etc to
> >> support Annex E?
> >PolyORB is the successor to GLADE, so the answer is yes.
>
> Make sure you check out Bob Duff's response to this question, it's a
> little more generic. He says that something _like_ PolyORB is required
> to support Annex E but it doesn't _need_ to be PolyORB.

He is correct but PolyORB is currently the only implementation of
Annex E that I know of, on any compiler. GLADE does not work with
recent versions of GNAT.

--
Ludovic Brenta.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-08-28 13:38               ` Ludovic Brenta
@ 2009-08-28 14:59                 ` Robert A Duff
  0 siblings, 0 replies; 27+ messages in thread
From: Robert A Duff @ 2009-08-28 14:59 UTC (permalink / raw)


Ludovic Brenta <ludovic@ludovic-brenta.org> writes:

> He is correct but PolyORB is currently the only implementation of
> Annex E that I know of, on any compiler.

Right.  I was answering from an "Ada language" perspective, and you were
answering from an "available implementation" perspective.

I hope the OP now understands what's what.  ;-)

The Distributed Systems Annex is one of the "Specialized Needs Annexes"
(annexes C, D, E, F, G, and H), which are optional, in the sense that
an implementation can conform to the Ada standard without implementing
all of these Annexes.  Here's the RM wording:

7  The following Specialized Needs Annexes define features that are
needed by certain application areas:

8     Annex C, "Systems Programming"

9     Annex D, "Real-Time Systems"

10    Annex E, "Distributed Systems"

11    Annex F, "Information Systems"

12    Annex G, "Numerics"

13    Annex H, "High Integrity Systems"
...

17    All implementations shall conform to the core language. In
addition, an implementation may conform separately to one or more
Specialized Needs Annexes.

- Bob



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-08-24 13:22 Distributed Computing in Ada Allison Beh
                   ` (3 preceding siblings ...)
  2009-08-25 12:00 ` Gene
@ 2009-08-28 15:00 ` Per Sandberg
  4 siblings, 0 replies; 27+ messages in thread
From: Per Sandberg @ 2009-08-28 15:00 UTC (permalink / raw)


Yon may also have a look on spread:
   http://www.spread.org/
Width an Ada-binding:
  https://sourceforge.net/projects/ada-spread/

/Per

Allison Beh wrote:
> Hi,
> 
> To do distributed computing in Ada, what are the software components
> needed? Are libflorist and libpvm necessary? What about in Mac OS X
> platform? Is Bonjour needed? Much appreciated if someone can kindly
> shed some light on it. Thanks in advance.
> 
> 
> Regards,
> Allison Beh



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-08-28 12:24           ` Robert A Duff
@ 2009-08-28 18:57             ` Jeffrey R. Carter
  2009-08-28 19:57               ` Robert A Duff
  0 siblings, 1 reply; 27+ messages in thread
From: Jeffrey R. Carter @ 2009-08-28 18:57 UTC (permalink / raw)


Robert A Duff wrote:
> 
> Now we have a bunch of tasks accessing shared variable Global,
> all correctly synchronized by the rendezvous.

The accesses look unsynchronized to me.

-- 
Jeff Carter
"I wave my private parts at your aunties."
Monty Python & the Holy Grail
13



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-08-28 18:57             ` Jeffrey R. Carter
@ 2009-08-28 19:57               ` Robert A Duff
  0 siblings, 0 replies; 27+ messages in thread
From: Robert A Duff @ 2009-08-28 19:57 UTC (permalink / raw)


"Jeffrey R. Carter" <spam.jrcarter.not@spam.acm.org> writes:

> Robert A Duff wrote:
>> Now we have a bunch of tasks accessing shared variable Global,
>> all correctly synchronized by the rendezvous.
>
> The accesses look unsynchronized to me.

Yes, you're right (assuming the entries can be called simultaneously).
Thanks for pointing out my sloppiness.  What was I thinking?  :-(

I don't think it affects my main point, though, which is that the
compiler doesn't know which variables are shared.  Of course,
if they are shared, we would hope they would be properly
synchronized.  So change my example so they are: e.g. have
a single task or protected object that calls P.Q.  And have lots of
tasks that call that.

In which task's address space should Global be allocated?
The environment task creates and initializes it, so...

- Bob



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-08-24 16:49 ` Georg Bauhaus
@ 2009-09-05  9:31   ` Allison Beh
  2009-09-05 12:06     ` Ludovic Brenta
  0 siblings, 1 reply; 27+ messages in thread
From: Allison Beh @ 2009-09-05  9:31 UTC (permalink / raw)


On Aug 25, 12:49 am, Georg Bauhaus <rm.dash-bauh...@futureapps.de>
wrote:
> Allison Beh schrieb:
>
> > Hi,
>
> > To do distributed computing in Ada, what are the software components
> > needed? Are libflorist and libpvm necessary? What about in Mac OS X
> > platform? Is Bonjour needed? Much appreciated if someone can kindly
> > shed some light on it. Thanks in advance.
>
> Have you seen PolyORB yet?http://libre.adacore.com/libre/tools/polyorb/

Thank you all for the useful information. I've downloaded PolyORB but
failed to install it. During the configuration process, there was an
error message which states that my Ada compiler is not working. But
I've tested my compiler, it is able to compile the Ada programs. I
wonder what is wrong. Have I missed something?

Regards,
Allison Beh



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-09-05  9:31   ` Allison Beh
@ 2009-09-05 12:06     ` Ludovic Brenta
  2009-09-05 13:20       ` Allison Beh
  0 siblings, 1 reply; 27+ messages in thread
From: Ludovic Brenta @ 2009-09-05 12:06 UTC (permalink / raw)


Allison Beh wrote on comp.lang.ada:
> I've downloaded PolyORB but
> failed to install it. During the configuration process, there was an
> error message which states that my Ada compiler is not working. But
> I've tested my compiler, it is able to compile the Ada programs. I
> wonder what is wrong. Have I missed something?

Please provide the necessary details:
- what operating system (and version number)
- what Ada compiler (and version number)
- what version of PolyORB (presumably GPL 2009?)
- what exact command you ran
- what exact error message you got

I suspect your compiler is not in the PATH or something similar.

--
Ludovic Brenta.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-09-05 12:06     ` Ludovic Brenta
@ 2009-09-05 13:20       ` Allison Beh
  2009-09-05 16:49         ` Vadim Godunko
  0 siblings, 1 reply; 27+ messages in thread
From: Allison Beh @ 2009-09-05 13:20 UTC (permalink / raw)


On Sep 5, 8:06 pm, Ludovic Brenta <ludo...@ludovic-brenta.org> wrote:
> Allison Beh wrote on comp.lang.ada:
>
> > I've downloaded PolyORB but
> > failed to install it. During the configuration process, there was an
> > error message which states that my Ada compiler is not working. But
> > I've tested my compiler, it is able to compile the Ada programs. I
> > wonder what is wrong. Have I missed something?
>
> Please provide the necessary details:
> - what operating system (and version number)
> - what Ada compiler (and version number)
> - what version of PolyORB (presumably GPL 2009?)
> - what exact command you ran
> - what exact error message you got
>
> I suspect your compiler is not in the PATH or something similar.
>
> --
> Ludovic Brenta.

Oops, sorry and thanks for responding. I'm on Mac OS X Leopard and
gnat-4.3. Yes, I downloaded GPL 2009 version.

I ran ./configure in bash environment, it did all the checking until
the last when it checked if the Ada compiler works, the result was
"no", and then an error message appeared: Ada compiler is not working.

I suppose my compiler is in the PATH as I already set it in /etc/
bashrc. I've tried to compile an Ada program by running gnatmake and
it was working fine.


Regards,
Allison



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Distributed Computing in Ada
  2009-09-05 13:20       ` Allison Beh
@ 2009-09-05 16:49         ` Vadim Godunko
  0 siblings, 0 replies; 27+ messages in thread
From: Vadim Godunko @ 2009-09-05 16:49 UTC (permalink / raw)


On Sep 5, 5:20 pm, Allison Beh <allir...@gmail.com> wrote:
>
> Oops, sorry and thanks for responding. I'm on Mac OS X Leopard and
> gnat-4.3. Yes, I downloaded GPL 2009 version.
>
Could you please follow recommended bug report procedure for PolyORB?
See PolyORB's documentation for more details. Or at least send your
question and attach config.log to polyorb-users@lists.adacore.com.



^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2009-09-05 16:49 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-08-24 13:22 Distributed Computing in Ada Allison Beh
2009-08-24 13:45 ` Jacob Sparre Andersen
2009-08-24 16:49 ` Georg Bauhaus
2009-09-05  9:31   ` Allison Beh
2009-09-05 12:06     ` Ludovic Brenta
2009-09-05 13:20       ` Allison Beh
2009-09-05 16:49         ` Vadim Godunko
2009-08-25 11:58 ` Gene
2009-08-25 12:00 ` Gene
2009-08-27 15:28   ` Robert A Duff
2009-08-27 23:27     ` Jeffrey R. Carter
2009-08-28  0:35       ` Robert A Duff
2009-08-28  4:07         ` abyhoe
2009-08-28  8:34           ` Ludovic Brenta
2009-08-28  8:57             ` abyhoe
2009-08-28  9:03               ` abyhoe
2009-08-28  9:33                 ` Ludovic Brenta
2009-08-28 13:25             ` John McCabe
2009-08-28 13:38               ` Ludovic Brenta
2009-08-28 14:59                 ` Robert A Duff
2009-08-28  4:19         ` Jeffrey R. Carter
2009-08-28 12:24           ` Robert A Duff
2009-08-28 18:57             ` Jeffrey R. Carter
2009-08-28 19:57               ` Robert A Duff
     [not found]         ` <cd917fe6-d84c-47bc-b00e-76baae76ec6e@u16g2000pru.googlegroups.com>
2009-08-28  8:40           ` Jacob Sparre Andersen
2009-08-28 12:29           ` Robert A Duff
2009-08-28 15:00 ` Per Sandberg

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