🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.transputer
Article #1404

Re: producers and consumers

#1404
From: Jonathan Greenfield
Date: Wed, 13 Feb 1991 21:54
52 lines
3069 bytes
In article <17289.9102131102@prg.oxford.ac.uk> HALLAM@physics.oxford.ac.uk ("Phillip M. Hallam-Baker") writes:

>Although I am by no means a CSP person I suspect that the problem here is
>lack of clarity and a confusion between different CSP models.
>
>The original CSP notation does not have a concept of an `input event' or
>output event. There are simply events. The input and output notation is part
>of a collection of notational clutter that various persons have added to
>CSP over the years.

Just an incidental--I based my comments on Hoare's definition of CSP in his
book of the same name.

>There are very good reasons why the process
>
>A = event -> B
>
>is interpreted as `A is prepared to engage in event' and not `A performs
>event'. If the latter interpretation were allowed then the hierarchy of
>processes would not work. The parallel operator || is a binary operator
>which takes as it's arguments two processes and returns a single process.
>(Think of this as algebra not as executing a computer program). The symetry of
>the whole is lost if you take the `performs' interpretation since if you have
>the process `A||C' where C=STOP{with alphabet {event}} then the composite
>process will behave as STOP -- making a complete nonsense of the idea of
>the interpretation of A as `A performs...'

Well, this was merely my point in the first place--that CSP is a fine
theoretical entity, but that it should not be considered a programming
language.  My whole point was that if we consider CSP processes to be
programs, then we run into a problem.  Since some have suggested that CSP
processes are programs, I figured that either I or Hoare had a conceptual
problem with CSP...

>To interpret a CSP process and how it will behave it is necessary to look
>at it's *traces*. The function tr (in dark squigly type) takes a process
>as it's argument and returns the set of all possible behavious of the process

Again, the *traces* of a process is merely an alternate description of (what
I referred to in a previous posting as) the language of events for a process.


If you are correct that CSP was not intended by Hoare as a programming 
language, then no problem exists (to my knowledge).  We merely recognize CSP 
processes to be mathematical descriptions of automata, but not programs.

As I do not research this area, either (and as I do not work as a 
theoretician), I am glad to see that my insights into CSP have been somewhat
validated by your posting.


Jonathan
Technical Details
Message-ID: <1991Feb13.160731.20859@rodan.acs.syr.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!rpi!uupsi!rodan.acs.syr.edu!wotan.top.cis.syr.edu!greeny
References: <17289.9102131102@prg.oxford.ac.uk>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!rpi!uupsi!rodan.acs.syr.edu!wotan.top.cis.syr.edu!greeny
From: greeny@wotan.top.cis.syr.edu (Jonathan Greenfield)
Newsgroups: comp.sys.transputer
Subject: Re: producers and consumers
Message-ID: <1991Feb13.160731.20859@rodan.acs.syr.edu>
Date: 13 Feb 91 21:54:11 GMT
References: <17289.9102131102@prg.oxford.ac.uk>
Reply-To: greeny@top.cis.syr.edu (Jonathan Greenfield)
Organization: CIS Dept., Syracuse University
Lines: 52