From tsl2@ukc.ac.uk Sun Oct 31 15:49:06 2004 From: Tom Locke To: occam-com@ukc.ac.uk, java-threads@ukc.ac.uk Date: Tue, 05 Dec 2000 09:42:10 +0000 Subject: RE: (now completed) Slides from my talk at CPA2000 X-Sender: tsl2@myrtle.ukc.ac.uk Content-Type: text/plain; charset="us-ascii"; format=flowed MIME-Version: 1.0 X-Mailer: QUALCOMM Windows Eudora Version 5.0 Message-ID: <5.0.0.25.2.20001205093114.00a6d3e0@myrtle.ukc.ac.uk> At 11:34 01/12/00 -0700, Campbell, John wrote: >Having looked at your slides, I like the thinking. I do, however, >have some misgivings. Perhaps one of the theoretical types can >comment on this, maybe set me straight. But it seems to me that >CSP lacks the power to describe an object passing through a pipe. There's a lot that CSP can't describe isn't there? occam does a lot that you can't do in CSP. Sending processes down channels: In occam, there is no way to get a handle on a process, only its channels, so there would be no way to go about sending a process down a channel. I'm thinking on the same lines - there will be no 'process names' in this language. Here's how it works. There's an operator along the lines of OO's 'new' which launches a process and returns a channel record containing this processes interface. When we talk about sending a process down a channel, we are actually sending the channel record. Analogously, in OO we always talk about passing objects around, whereas we actually pass references to objects around. The send has a 'move' semantics - the sender no longer has the record. Only one (serial) client ever holds the channel record. >The problem is that it's not much of an object if you have to sever >its existing channel connections before sending it. Could you elaborate on this? Thanks, Tom.