From: asheem@mandrill.CWRU.Edu (Asheem Chandna)
Subject: Passing Procedures Over a Network
Date: Mon, 5-Oct-87 21:49:47 EDT [thread overview]
Date: Mon Oct 5 21:49:47 1987
Message-ID: <2268@mandrill.CWRU.Edu> (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
next reply other threads:[~1987-10-06 1:49 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
1987-10-06 1:49 Asheem Chandna [this message]
1987-10-07 0:47 ` Passing Procedures Over a Network Steve Hyland
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox