comp.lang.ada
 help / color / mirror / Atom feed
* Passing Procedures Over a Network
@ 1987-10-06  1:49 Asheem Chandna
  1987-10-07  0:47 ` Steve Hyland
  0 siblings, 1 reply; 2+ messages in thread
From: Asheem Chandna @ 1987-10-06  1:49 UTC (permalink / raw)


Hi,

   After the recent discussions on "passing procedures as parameters," we
were thinking about some of the issues related to "passing procedures as
parameters over multi-processor target systems," and wondered if someone
on the net could perhaps discuss some of the issues, and enlighten us.
Of course (as discussed earlier on the net), Ada doesn't allow for the 
passing of procedures as parameters (or at least not yet)!

Consider the case where an Ada program is written such that it contains
several tasks, each directed to a particular processor (by means of say a
pragma statement), and that these tasks use the rendezvous mechanism for
their communication. We want to pass procedures as parameters between the
tasks. 

We are assuming, that only procedure names, not entire procedure calls with
parameters specified, would be the objects passed. One would probably prefer to
avoid passing a copy of an entire procedure over the local area network
for several reasons including the fact that processors may also have different
instruction set architectures. ALGOL-60 has the "call by name" parameter
passing mechanism where whole procedure calls could be passed -- one probably
wouldn't want to apply anything like that in this situation.

Now, any task making a procedure call will want a copy of the procedure in its
local environment. If one such task was passed another procedure, surely a copy
of that procedure should be in its local environment. Now, if a rendezvous from
a task residing outside the local environment passes a procedure through an
accept statement into the local environment, could one know the identity of the
set of possible procedures at compile time (from all the procedures available
of that particular type), and arrange to have copies resident in the local
environment? Is this a feasible solution or are we just thinking crazy?  

Or, what are some other methods that could be applied towards tackling this
and related issues?

Thanks in advance for your comments.

Asheem Chandna and William Schultz.

VOICE: 216-368-4087
SNAIL: Center for Automation & Intelligent Systems Research,
       Case Western Reserve University, Cleveland, Ohio 44106.          
UUCP: asheem@mandrill.uucp       OR   {cbosgd,decvax,sun}!mandrill!asheem  
ARPA: asheem@mandrill.cwru.edu   OR   asheem%mandrill.cwru.edu@berkeley.edu
CSNET: asheem@mandrill.cwru.edu  OR   asheem@case.csnet

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

end of thread, other threads:[~1987-10-07  0:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1987-10-06  1:49 Passing Procedures Over a Network Asheem Chandna
1987-10-07  0:47 ` Steve Hyland

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