School of Computing

Prioritised dynamic communicating processes: Part 1

Fred Barnes and Peter Welch

In James Pascoe, Peter Welch, Roger Loader, and Vaidy Sunderam, editors, Communicating Process Architectures 2002, volume 60 of Concurrent Systems Engineering, pages 182-196, IOS Press, Amsterdam, The Netherlands, September 2002. IOS Press.


This paper reports continuing research on language design, compilation and kernel support for highly dynamic concurrent reactive systems. The work extends the occam multiprocessing language, which is both sufficiently small to allow for easy experimentation and sufficiently powerful to yield results that are directly applicable to a wide range of industrial and commercial practice. Classical occam was designed for embedded systems and enforced a number of constraints - such as statically pre-determined memory allocation and concurrency limits - that were relevant to that generation of application and hardware technology. Most of these constraints have been removed in this work and a number of new facilities introduced (channel structures, mobile channels, channel ends, dynamic process creation, extended rendezvous and process priorities) that significantly broaden occam?s field of application and raise the level of concurrent system design directly supported. Four principles were set for modifications/enhancements of the language. They must be useful and easy to use. They must be semantically sound and policed (ideally, at compile-time) to prevent mis-use. They must have very lightweight and fast implementation. Finally, they must be aligned with the concurrency model of the original core language, must not damage its security and must not add (significantly) to the ultra-low overheads. These principles have all been observed. All these enhancements are available in the latest release (1.3.3) of KRoC, freely available (GPL/open source) from: .

Bibtex Record

author = {Fred Barnes and Peter Welch},
title = {Prioritised Dynamic Communicating Processes: Part 1},
month = {September},
year = {2002},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {},
    publication_type = {inproceedings},
    submission_id = {21689_1032476156},
    ISBN = {1-58603-268-2},
    booktitle = {Communicating Process Architectures 2002},
    editor = {James Pascoe and Peter Welch and Roger Loader and Vaidy Sunderam},
    volume = {60},
    series = {Concurrent Systems Engineering},
    publisher = {IOS Press},
    ISSN = {1383-7575},
    refereed = {yes},
    address = {IOS Press, Amsterdam, The Netherlands},

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

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

Last Updated: 21/03/2014