[comp.lang.misc] CSP

grichard@hockey.cis.ohio-state.edu (Golden Richard) (12/09/89)

I'm looking for an implementation of a (super?)set of Hoare's
CSP notation.  It need be neither distributed nor very robust.

If anyone has a CSP (and related topics) reading list lying around, a copy 
via Email would be much appreciated.   Thanks in advance.


-=-
Golden Richard III        OSU Department of Computer and Information Science
grichard@cis.ohio-state.edu         "I'm absolutely positive!  ...or not."    

reino@cs.eur.nl (Reino de Boer) (12/11/89)

grichard@hockey.cis.ohio-state.edu (Golden Richard) writes:

>I'm looking for an implementation of a (super?)set of Hoare's
>CSP notation.  It need be neither distributed nor very robust.

>If anyone has a CSP (and related topics) reading list lying around, a copy 
>via Email would be much appreciated.   Thanks in advance.

Me too please,
thanks -- Reino
-- 
Reino R. A. de Boer
Erasmus University Rotterdam ( Informatica )
e-mail: reino@cs.eur.nl

iphwk@TERRA.OSCS.MONTANA.EDU (Bill Kinnersley) (12/14/89)

[In "CSP", grichard@cis.ohio-state.edu said:]
: 
: I'm looking for an implementation of a (super?)set of Hoare's
: CSP notation.  It need be neither distributed nor very robust.
: 
Two possibilities:

"A Modula-2 Implementation of CSP", in the June 1987 SIGPLAN notices.

An Occam simulator in C, at one time available for ftp from ucbvax.
Occam, I believe, is designed to look like CSP.


-- 
--Bill Kinnersley
  Physics Department   Montana State University    Bozeman, MT 59717
  INTERNET: iphwk@terra.oscs.montana.edu      BITNET: IPHWK@MTSUNIX1
226 Transfer complete.

rlk@telesoft.com (Bob Kitzberger @sation) (12/15/89)

grichard@hockey.cis.ohio-state.edu (Golden Richard) writes:

>I'm looking for an implementation of a (super?)set of Hoare's
>CSP notation.  It need be neither distributed nor very robust.

Ada's tasking model is largely based on Communicating Sequential Processes.
Most of the current tasking implementations are robust; some even support 
distribution of Ada tasks over multiple CPU's.

	.Bob.

-- 
Bob Kitzberger                  Internet : rlk@telesoft.com
TeleSoft AB                     uucp :     ...!ucsd.ucsd.edu!telesoft!rlk
5959 Cornerstone Ct. West       at&t :     (619) 457-2700 x163
San Diego, CA 92121-9891        

"Now with improved warhead!"   -- Bofors Industries ad, Oct 23 _Defense News_
------------------------------------------------------------------------------

new@udel.edu (Darren New) (12/16/89)

grichard@hockey.cis.ohio-state.edu (Golden Richard) writes:

>I'm looking for an implementation of a (super?)set of Hoare's
>CSP notation.  It need be neither distributed nor very robust.

You may want to look into a language called LOTOS.
Protocol people use it to specify network protocols among other
things.  It's based on CSP and ACT-ONE.  Ask on the networks groups
for researchers with interpreters for it.    -- Darren

johnz@cs.su.oz (John Zic) (12/16/89)

In article <6229@nigel.udel.EDU> new@udel.edu (Darren New) writes:
>grichard@hockey.cis.ohio-state.edu (Golden Richard) writes:
>
>>I'm looking for an implementation of a (super?)set of Hoare's
>>CSP notation.  It need be neither distributed nor very robust.
>
>You may want to look into a language called LOTOS.
>Protocol people use it to specify network protocols among other
>things.  It's based on CSP and ACT-ONE.  Ask on the networks groups
			^^^
>for researchers with interpreters for it.    -- Darren

LOTOS is based on Robin Milner's CCS with the addition of
abstract data types (provided by ACT-ONE).  Here's the reference:
	@book{Miln80,
		title = "A Calculus of Communicating Systems",
		publisher = "Springer-Verlag",
		year = "1980",
		author = "Milner, R.",
		volume = "92",
		series = " Lecture Notes in Computer Science",
		address = " Berlin--Heidelberg--New York"
	}

I regard LOTOS as a specification technique, rather than an
implementation language -- although there may be some implementation
of LOTOS around. Warning -- religious belief follows -- stick to
Occam; it is a nice implementation of the CSP algebra with which one
can reason about safety etc of a specification in the CSP
traces/failures/divergences model.

iphwk@TERRA.OSCS.MONTANA.EDU (Bill Kinnersley) (12/17/89)

[In "Re: CSP", rlk@telesoft.com (Bob Kitzberger said:]
: 
: grichard@hockey.cis.ohio-state.edu (Golden Richard) writes:
: 
: >I'm looking for an implementation of a (super?)set of Hoare's
: >CSP notation.  It need be neither distributed nor very robust.
: 
: Ada's tasking model is largely based on Communicating Sequential Processes.
: Most of the current tasking implementations are robust; some even support 
: distribution of Ada tasks over multiple CPU's.
: 
I doubt that Hoare would enjoy seeing Ada proposed as a substitute for
CSP!  He has been one of the most vocal critics of Ada.  While both CSP
and Ada deal with communication between sequential processes, they are
at opposite extremes in terms of complexity.


-- 
--Bill Kinnersley
  Physics Department   Montana State University    Bozeman, MT 59717
  INTERNET: iphwk@terra.oscs.montana.edu      BITNET: IPHWK@MTSUNIX1
226 Transfer complete.

rlk@telesoft.com (Bob Kitzberger @sation) (12/21/89)

In article umpty-ump, iphwk@TERRA.OSCS.MONTANA.EDU (Bill Kinnersley) writes:

> I doubt that Hoare would enjoy seeing Ada proposed as a substitute for
> CSP!  

I didn't propose it as a substitute, merely stated that "Ada's tasking model is
largely based on CSP".

> He has been one of the most vocal critics of Ada.  

I assume you are referring to his 1980 Turing Award Lecture?  I don't have a
copy present, but as I recall Hoare's complaints about Ada stemmed from a
perceived complexity and Exceptions, not the tasking model used.  But I'd 
be very interested in any any other comments Hoare has made about Ada's
tasking - please let me know.

> While both CSP and Ada deal with communication between sequential processes, 
> they are at opposite extremes in terms of complexity.

I've just been perusing "Rationale for the Design of the Ada Progamming
Language".  The designers of Ada spend about five pages comparing and
contrasting CSP and Ada tasking.  The similarities are many, the differences
are few.

	o CSP communication is symmetric, i.e. both caller and server
	  need to know each other's name.  As Hoare himself points out,
	  this symmetry prevents development of library routines to provide
	  service to arbitrary users.

	  Ada communication is asymmetric, i.e. only the caller need know the
	  server's name.  Library routine creation is possible.

	o Ada adds the concept of the extended rendezvous (P. Brinch Hansen,
	  "Distributed Processes : a concurrent programming concept"), which 
	  allows arbitrary computations to occur within the rendezvous.  

	o CSP notation is terse; Ada notation is verbose.
	  
Yours for a kindler, gentler NERDnet,

	.Bob.


-- 
Bob Kitzberger                  Internet : rlk@telesoft.com
TeleSoft AB                     uucp :     ...!ucsd.ucsd.edu!telesoft!rlk
5959 Cornerstone Ct. West       at&t :     (619) 457-2700 x163
San Diego, CA 92121-9891        

"Now with improved warhead!"   -- Bofors Industries ad, Oct 23 _Defense News_
------------------------------------------------------------------------------