comp.lang.ada
 help / color / mirror / Atom feed
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

      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