Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!munnari.oz.au!bunyip.cc.uq.oz.au!brolga!uqcspe!cs.uq.oz.au!brendan From: brendan@cs.uq.oz.au (Brendan Mahony) Newsgroups: comp.specification Subject: Re: Problem with LOTOS specification Message-ID: <1951@uqcspe.cs.uq.oz.au> Date: 14 Jun 91 04:18:07 GMT References: <1918@uqcspe.cs.uq.oz.au> Sender: news@cs.uq.oz.au Reply-To: brendan@cs.uq.oz.au Lines: 34 In dls@achilleus.austin.ibm.com (David Skeen) writes: >From Hoare's 1985 book: "We shall observe the convention that >channels are used for communication in only one direction and between >only two processes" (p134). Does not the fact that he feels it necessary to call this a convention hit to you that this is not necessitated by the semantic domain? In fact there is no way to ensure that this convention is respected other than by hiding the channel, thus localising it to the processes it is intended to facilitate communication between. >I understand that (P || Q) means P in parallel with Q, Several semantics are given for (P || Q) in the 1985 book, none of them in anyway respect the above-stated convention regarding channels. In fact all are presented before the notion of channel is introduced. Any number of processes may synchronise on a single event in CSP, and hence it is equally easy to develop a convention for broadcast communications in CSP. >but I don't see (P >> Q). This is the piping operator introduced on p151. It means: run P in parallel with Q, but hide the communication channels from P to Q. It is the basic mechanism for setting up closed communication channels between pairs of processes. It is the sole support in CSP for the convention quoted above. -- Brendan Mahony | brendan@batserver.cs.uq.oz Department of Computer Science | heretic: someone who disgrees with you University of Queensland | about something neither of you knows Australia | anything about.