Teach Time Encyclopedia - Learn About Our World
Home Page
Teach Time
Featured Topics

United States
by state

CITYology

Academic Disciplines

Historical Timelines

Themed Timelines

Calendars

Reference Tables

Biographies

How-tos



Friday, October 10, 2008

Communicating sequential processes

Communicating Sequential Processes, or CSP, is a language for describing patterns of interaction. First described in a paper by C. A. R. Hoare in 1978, the basic ideas in that paper were refined into the book "Communicating Sequentual Processes" which was published in 1985. In May 2003, that book was the third most cited Computer Science reference of all time according to Citeseer.

As its name suggests, CSP allows us to describe systems as a number of components (processes) which operate independently and communicate with each other solely over well-defined channels. To give the archetypal CSP example; an abstract representation of a chocolate machine might be able to carry out two different events, 'coin' and 'choc' which represent the insertion of payment and the delivery of a chocolate respectively. A machine which demanded payment before offering a chocolate could be written as:

coin -> choc -> STOP

A person who might choice to use a coin or card could be modelled as:

(coin -> STOP) [] (card -> STOP)

These two processes can be put in parallel, the resulting processes depending on the events they must syncronise on. If this was both "coin" and "card", the resulting process would be:

coin -> choc -> STOP

whereas if synchronization was only required on "coin", the resulting process would be:

(coin -> choc -> STOP) [] (card ->STOP)

Events can be abstracted in CSP by various mechanisms such as hiding events and renaming events. If we hide the "coin" and "card" events from the second of the combined processes, we get the nondeterministic process:

(choc -> STOP) |~| STOP

This is a process which either offers a "choc" event and then stops, or just stops. In other words, if we treat the abstraction as an external view of the system (eg. someone who does not see the decision reached by the person), a nondeterminism has been introduced.

Table of contents
1 See also
2 References
3 External links

See also

References

  • C. A. R. Hoare: Communicating Sequential Processes, Prentice-Hall 1985, ISBN 0-13-153271-8. This book has been updated by Jim Davies at the Oxford University Computer Laboratory and the new edition is available for download as a pdf file at the Using CSP website.
  • A. W. Roscoe: The Theory and Practice of Concurrency, Prentice-Hall 1997, ISBN 0-13-674409-5. Some links relating to this book are available here.
  • Gregory R. Andrews: Foundations of Multithreaded, Parallel, and Distributed Programming, Addison-Wesley, ISBN 0-201-35752-6

External links

site contains some information about CSP and useful links.


Internet Hotel Solutions

Site Sponsors
AC Units
Baltimore Harbor
Boot Camp Grads
Bra Size
Burkittsville
College Hotels
Digital Harbor
Free Cell Phones
Golden Hare Travel
Golf Vacations
Golf Courses
Gourmet
Hair Styles
Hippodrome
iWoman
Lesson Plans
Maryland Hotels
MD Genealogy
Minor League Stuff
Motel Site
Ocean City
OC Real Estate
Old Agers
Office Supplies
Orlando
Pet Friendly Hotel
Room Prices
Savannah, GA
Ski Vacations
South Baltimore
Student Teaching
Travel Sources
University Hotels
Visit Military Bases
Washington, DC

Brought to you by NoChildLeftBehind.com and the Beaches and Towns Network, LLC.