Article View: comp.sys.transputer
Article #1404Re: producers and consumers
From: Jonathan Greenfield
Date: Wed, 13 Feb 1991 21:54
Date: Wed, 13 Feb 1991 21:54
52 lines
3069 bytes
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!greenyReferences:
<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