School of Computing

An introduction to the Kent C++CSP library

N.C.C. Brown and P.H. Welch

In J.F. Broenink and G.H. Hilderink, editors, Communicating Process Architectures 2003, volume 61 of Concurrent Systems Engineering Series, pages 182-196, Amsterdam, The Netherlands, September 2003. IOS Press.


This paper reports on a CSP library for C++, developed over the past year at the University of Kent. It is based on the OO-design and API of JCSP and the lightweight algorithms of KRoC occam, with extensions to exploit specific C++ capabilities (such as templates). Both user-level and operating system threads are used to provide a range of oimplementation options and semantics (e.g. for managing blocking system calls intelligently) that run efficiently under either Windows or Linux.

The library is presented from the user's point of view, mainly by way of a tutorial. Implementation details are also outlines and some benchmark results given. The performance of C++CSP is between that of KRoC occam and JCSP -- fairly close to KRoC.

Download publication 348 kbytes (PostScript)

Bibtex Record

author = {N.C.C. Brown and P.H. Welch},
title = {An Introduction to the {K}ent {C++CSP} Library},
month = {September},
year = {2003},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {},
    publication_type = {inproceedings},
    submission_id = {10342_1075298704},
    ISBN = {1-58603-381-6},
    booktitle = {Communicating Process Architectures 2003},
    editor = {J.F. Broenink and G.H. Hilderink},
    volume = {61},
    series = {Concurrent Systems Engineering Series},
    address = {Amsterdam, The Netherlands},
    publisher = {IOS Press},
    ISSN = {1383-7575},
    refereed = {yes},

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014