[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: JCSP, CSP Networking, and other some other points

Depends on your definition of current problems.  For example, is multi-core
really a problem that needs solved?  The current approach is to distribute
individual applications onto separate cores.  Job done from the OS point of
view.  However, if you look at Microsoft's current research OS
(Singularity), you will see CSP/occam ideas all over the place; small
lightweight processes communicating together.  And multi-core technology
from an occam point of view was solved in the 80s.  Supposedly, the Cell
processor from IBM was meant to be CSP inspired as well.  And the Transputer
has been reinvented from Xmos.  Considering the increasing market size for
small embedded devices, there is a big market potential for the chips Xmos
are developing.

Protocol modelling and verification is another area where CSP is applied
(NASA use Spin which has CSP aspects, Bill Roscoe has been using FDR/Casper
to model security protocols).  Considering these are current uses of work
from within the community that is now a number of years old, are we solving
current problems, or addressing future ones?  My interest is in
ubiquitous/pervasive computing, which is considered an upcoming large
problem.  Robin Milner has put forward the pi calculus and other mobility
models as likely candidates for reasoning, and we have been investigating
practical mobility for a number of years now.  In fact, I would argue that
we have a more viable mobile agent framework than any OO approach could ever
hope for due to the nature of the model we are using.  Bill Roscoe has a
paper on his Oxford home page detailing how the pi calculus can be modelled
in CSP, so we yet again return to occam-pi.  Returning to Microsoft again,
they are becoming far more interested in programs which provide certain
guarantees for a number of reasons, including security, by having a
verifying compiler.  KRoC has been doing similar checks for a few years at

We are also branching into Emergent Computing problems, as we have a
particularly versatile and scalable model for providing simulations.  See
Adam's work within the CoSMoS project.  Some of the Emergent Computing
researchers at my university are particularly interested in having a
non-deterministic choice, which to them implies some extra randomness.  OO
has no such facility.

If you are looking for an OO replacement, then that is unlikely to happen
for a number of years, and may not come in the form of process-orientation.
The transition from procedural to object oriented development was a long
process, and considering the size of the APIs out there, it is unlikely that
any shift will be instantaneous or even complete.  Any concurrency library
relying on standard threads always has a problem with scaling, in both
resource usage and application complexity.  However, after around a decade
of software development being ground into a OO mentality, it appears that
movement is occurring again.  Functional programming is gaining more
interest, and we have a Haskell CSP already in place.  We may find more
ground in this area.  Service orientation and rises in distributed computing
may also be an area for more traction, particularly as certain OO properties
break down in the presence of distribution.

In short, you haven't really specified the problems you think we should be
solving.  Also, we are not just playing with dead bodies, but advancing our
work into new areas.  Occam may not be mainstream, but Python wasn't popular
till around 2002-3, and had been in existence since around 1990.


-----Original Message-----
From: Mailing_List_Robot [mailto:sympa@xxxxxxxxxx] On Behalf Of Andrzej
Sent: 24 February 2009 20:22
To: 'Adam Sampson'; occam-com@xxxxxxxxxx
Subject: RE: JCSP, CSP Networking, and other some other points

Interesting. But... Occam, transputer, Kroc, all ARE THINGS OF THE PAST. Why
you are playing with dead bodies instead of using your talent and knowledge
to address problems that are current?


-----Original Message-----
From: Mailing_List_Robot [mailto:sympa@xxxxxxxxxx] On Behalf Of Adam Sampson
Sent: Tuesday, February 24, 2009 12:50 PM
To: occam-com@xxxxxxxxxx
Subject: Re: JCSP, CSP Networking, and other some other points

Bob Gustafson <bobgus@xxxxxxx> writes:

> I rather enjoyed reading Geraint Jones's two books on Occam. The
> latest, with Michael Goldsmith - "Programming In Occam 2 (2nd Edition)
> (Paperback)" is available on Amazon.

Geraint Jones has made an updated version available for free online:

The KRoC and Transterpreter implementations of occam-pi are open-source
and available for a variety of operating systems. KRoC is included with
some Linux distributions, but it's under active development, so you're
probably better off downloading the latest version from us:

The examples from the book will work directly in KRoC provided you wrap
them in an appropriate top-level process (e.g. "PROC main (CHAN BYTE
out)") -- but the extra facilities available in occam-pi over occam 2
can be used to simplify a lot of the code.

Adam Sampson                                         <http://offog.org/>

Napier University is the best modern university in Scotland* and number one in Scotland for graduate employability**
(*Guardian University Guide 2009)
(**HESA 2008)

This message is intended for the addressee(s) only and should not be read, copied or disclosed to anyone else out-with the University without the permission of the sender.
It is your responsibility to ensure that this message and any attachments are scanned for viruses or other defects. Napier University does not accept liability for any loss or damage which may result from this email or any attachment, or for errors or omissions arising after it was sent. Email is not a secure medium. Email entering the University's system is subject to routine monitoring and filtering by the University.
Napier University is a registered Scottish charity. Registration number SC018373