From: ian@loral.UUCP (Ian Kaplan)
Subject: Re: Stream management in Ada
Date: Tue, 17-Mar-87 18:15:44 EST [thread overview]
Date: Tue Mar 17 18:15:44 1987
Message-ID: <1394@loral.UUCP> (raw)
In-Reply-To: 8703151508.AA03015@ucbvax.Berkeley.EDU
It was stated in the original article that a "pure Ada" solution was
sought. I am not sure what exactly this means. Presumable if it is
coded in Ada it is "pure", but I think that the author ment more than
this.
At the heart of the Ada process model is Hoare's Communicating
Sequential Processes (CSP) scheme. Pure process model algorithms are
not very good at handling steam applications. Dataflow is very good at
handling streams, however. The Lucid programming language is designed
for stream processing. See "Lucid" by Ashcroft and Wadge, Academic
Press. For a brief discussion of the dataflow and process model, see
"Programming the LOral LDF 100 Dataflow Machine", by Ian Kaplan, which
should appear in SigPlan Notices around May.
"Processes" in dataflow communicate asynchronously. This can be
simulated in a process based language by placing a mail box
between the sender and the receiver. The rendezvous are with the mail
box. The mail box not only allows asynchronous operation (e.g.,
pipelining) but it also functionally decouples the two communicating
processes.
Dataflow is not without its problems however. The mailbox must provide
buffering. If the data producer is faster than the data consumer the
mailbox buffers will fill up. When this happens the producer must
suspend. This is what happens with UNIX pipes. For an excellent
discussion of UNIX pipes and their implementation see Chapter 2 of
"Operating Systems: design and implementation" by Andrew S. Tanenbaum,
Prentice-Hall.
Until March 27, 1987
Ian Kaplan
Loral Dataflow Group
Loral Instrumentation
(619) 560-5888 x4812
USENET: {ucbvax,decvax,ihnp4}!sdcsvax!loral!ian
ARPA: sdcc6!loral!ian@UCSD
USPS: 8401 Aero Dr. San Diego, CA 92123
prev parent reply other threads:[~1987-03-17 23:15 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
1987-03-15 11:41 Stream management in Ada PSI%SNMSN1::PSI%DSAVX2::WILLY@slb-test.CSNET
1987-03-17 23:15 ` Ian Kaplan [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