comp.lang.ada
 help / color / mirror / Atom feed
From: Mats.Weber@matrix.ch (Mats Weber)
Subject: Re: How can two tasks in different processors rendezvous?
Date: Mon, 30 Jan 1995 13:49:57 GMT
Date: 1995-01-30T13:49:57+00:00	[thread overview]
Message-ID: <Mats.Weber-3001951449570001@mlma11.matrix.ch> (raw)
In-Reply-To: D2zwAr.IqB@taurus.cs.nps.navy.mil

In article <D2zwAr.IqB@taurus.cs.nps.navy.mil>, cordeiro@cs.nps.navy.mil
(mauricio cordeiro) wrote:

> We have 2 different Ada tasks running asynchronously in two different
> workstations, and we need to transfer information from one to the other
> (a kind of remote rendezvous...).

You cannot do it with a rendez-vous. Ada's tasking model almost implies
shared memory between the processors executing the same Ada program.

Ada 83 has no built-in support for distributed systems. Many papers have
been written on the subject, but I don't have the references.

Ada 95 still uses the shared memory model for tasks, but offers an
additional mechanism for distributed systems, described in an annex of the
reference manual. It is based on RPC and is, IMO, very well done. I hope
someone will implement it for release with GNAT.

> The workstations run Unix and are networked, but the compiler we have 
> (SunAda), doesn't support any kind of RCP(remote procedure calls) or any
> other similar facility. 

In the meantime, there are several possibilities:

- Check out Paradise, a package offering TCP/IP communication primitives
to Ada programs, with special care given to tasks (so that your whole
program doesn't stop because one of its tasks is waiting for a Network
message). I haven't got the exact reference for Paradise (look at the
bindings section on the Ada WWW server <URL:http://lglwww.epfl.ch/Ada/>),
but I know it is available through anonymous ftp and released under the
GPL.

- Use SunRPC or access TCP/IP sockets directly (that is, write an Ada
binding to the relevant UNIX subprograms). This is quite easy if your
programs have no tasks but becomes very hard otherwise.

Mats



  reply	other threads:[~1995-01-30 13:49 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1995-01-26  4:25 How can two tasks in different processors rendezvous? mauricio cordeiro
1995-01-30 13:49 ` Mats Weber [this message]
1995-01-30 22:06   ` Ron Sercely
1995-02-01 12:19     ` Robert Dewar
1995-01-30 18:24 ` Theodore E. Dennison
replies disabled

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