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 http://www.wotug.org/paperdb/send_file.php?num=136 Jon 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 myself 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 approach. Tony Gore email tony@xxxxxxxxxxxx (alternative if problems tonygore@xxxxxxxxxxxxxx) 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