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

RE: AW: The world needs process-orientation

And mine,  

Nice to read stuff from Tony again, he always has a practical view of
what was required underpinned by sound engineering practice!

In his note he referred to a "CSP network programming language"

To a large extent we have that already in the JCSP Network edition but
it has remained hidden behind walls but was developed by Quickstone as a
sensible extension to Kent's JCSP work.

JCSPNet allows you to build networks of processes running over TCP/IP
network easily and transparently.  You design your system as a process
network, get it running on a single processor, perhaps using several
JVMs and then you can distribute over wired and wireless networks and it
just works, provided you follow the normal CSP-style design rules.

We have been working on mobile processes and channels within JCSPNet and
have got that to work effectively including the loading of processes
into client PDAs over wireless TCP/IP networks from severs.  The client
then interacts with the server see for example
http://www.wotug.org/paperdb/send_file.php?num=139 .  The beauty of the
approach is that in the final analysis the communication is between
processes over channels, something we understand and can reason about.

To shed some further light I attach the notes from a lecture I give to
my masters students on a networked print spooler. The advantage being
that we can use named service channels as required by the application
together with dynamically created anonymous network channels that
undertake the interaction.  This example does not use mobile processes.

The coding is in Groovy, a scripting language that runs on the Java
platform for which I have created a number of helper classes that make
it easier to write parallel systems.  A brief description of the
relationship between Groovy and occam is given in


Jon Kerridge
Napier University Edinburgh

-----Original Message-----
From: owner-java-threads@xxxxxxxxxx
[mailto:owner-java-threads@xxxxxxxxxx] On Behalf Of Tony Gore
Sent: 14 June 2006 18:35
To: tjoccam@xxxxxxxxxxx; Koehne Kai
Cc: Andrew Delin; torben.hoffmann@xxxxxxxxxxxx; amcinnes@xxxxxxxxxx;
occam-com@xxxxxxxxxx; java-threads@xxxxxxxxxx
Subject: RE: AW: The world needs process-orientation

My two penn'orth

In my years supporting customers, there was a clear distincton between
two groups, which I will simplify.

Basically, engineers liked occam - CSP gave them a programming model
that looked comparable to the way they designed systems. Most
programmers hated it because it wasn't C and they couldn't do all the
nasty fiddling around to show how clever and innovative they were at
programming i.e. no pointers, no GOTO etc. 

Whenever I taught occam on courses, I concentrated on the basic
sequential programming syntax until they had the hang of it and then
introduced the parallelism. This avoided users confusing learning a new
language with learning parallelism.

I joined Inmos from Motorola where I was programming real time
automotive systems in assembler, and after a few weeks discovered that
PAR and channels gave me all the things I previously had to write for

I really do wish, even largely as a user of software today, rather than
a writer, that CSP was used in design - for example, Microsoft's SBS 4.5
included ISA server - a firewall. Except that some ports bypassed the
firewall and were open to SQL server and led to the Digispid worm. It is
extremely difficult as a network/server administrator to figure out how
information travels around the system.

However, reading the exchanges in this forum, I can see that there is a
possibility for resurrecting COP/POP interest. We are using systems that
are more and more distributed, but there is not really a language for
programming networked systems. Surely this is an opportunity to reassert
a CSP approach. Perhaps we need a "CSP network programming language"
which can be used to hook up code written in other languages, but can
also be used to program on its own. This is a sort of Trojan Horse

Tony Gore

email  tony@xxxxxxxxxxxx (alternative if problems
tel +44-1278-761001  FAX +44-1278-760006  GSM +44-7768-598570
URL: www.aspen.uk.com
Aspen Enterprises Limited
Registered in England and Wales no. 3055963 Reg.Office Aspen House,
Burton Row, Brent Knoll, Somerset TA9 4BW.  UK

Attachment: Anonymous Network Channels in the Implementation of a Networked Print Spooler Application.doc
Description: Anonymous Network Channels in the Implementation of a Networked Print Spooler Application.doc