Skip to main content

Research Repository

Advanced Search

Integrating and extending JCSP.

Welch, Peter; Brown, Neil; Moores, James; Chalmers, Kevin; Sputh, Bernhard

Authors

Peter Welch

Neil Brown

James Moores

Kevin Chalmers

Bernhard Sputh



Contributors

Alistair McEwan
Editor

Steve Schneider
Editor

Wilson Ifill
Editor

Peter Welch
Editor

Abstract

This paper presents the extended and re-integrated JCSP library of CSP packages for Java. It integrates the differing advances made by Quickstone's JCSP Network Edition and the "core" library maintained at Kent. A more secure API for connecting networks and manipulating channels is provided, requiring significant internal re-structuring. This mirrors developments in the occam-pi language for mandated direction specifiers on channel-ends. For JCSP, promoting the concept of channel-ends to first-class entities has both semantic benefit (the same as for occampi) and increased safety. Major extensions include alting barriers (classes supporting external choice over multiple multi-way synchronisations), channel output guards (straightforward once we have the alting barriers), channel poisoning (for the safe and simple termination of networks or sub-networks) and extended rendezvous on channel communications (that simplify the capture of several useful synchronisation design patterns). Almost all CSP systems can now be directly captured with the new JCSP. The new library is available under the LGPL open source license.

Citation

Welch, P., Brown, N., Moores, J., Chalmers, K., & Sputh, B. (2007, December). Integrating and extending JCSP. Presented at Communicating Process Architectures 2007 WoTug-30

Conference Name Communicating Process Architectures 2007 WoTug-30
Publication Date 2007-07
Deposit Date Jan 15, 2010
Publisher IOS Press
Peer Reviewed Peer Reviewed
Volume 65
Pages 349-370
Book Title Communicating Process Architectures 2007
ISBN 978-1-58603-767-3
Keywords Communicating Process Architectures; JCSP networking; occam-pi; channel-ends; channel communications; synchronisation design patterns;
Public URL http://researchrepository.napier.ac.uk/id/eprint/3504