School of Computing

Mobile Data, Dynamic Allocation and Zero Aliasing: an occam Experiment

F.R.M. Barnes and P.H. Welch

In Alan Chalmers, Majid Mirmehdi, and Henk Muller, editors, Communicating Process Architectures 2001, number 59 in Concurrent Systems Engineering Series, pages 182-196. IOS Press, Amsterdam, The Netherlands, September 2001.


Mobile Data, Dynamic Allocation and Zero Aliasing: an occam Experiment ----------------------------------------------------------------------

F.R.M. Barnes and P.H. Welch Communicating Process Architectures 2001 (WoTUG 24)

Traditional imperative languages (such as C) and modern object-oriented languages are plagued by uncontrolled resource aliasing problems. Add in concurrency and the problems compound exponentially. Improperly synchronised access to shared (i.e. aliased) resources leads to problems of race-hazard, deadlock, livelock and starvation.

This paper describes the binding into occam (a concurrent processing language based on CSP) of a secure, dynamic and efficient way of sharing data between parallel processes with minimal synchronisation overheads. The key new facilities provided are: a movement semantics for assignment and communication, strict zero-aliasing, apparently dynamic memory allocation and automatic zero-or-very-small-unit-time garbage collection. The implementation of this mechanism is also presented, along with some initial performance figures (e.g. 80ns for mobile communication on an 800 MHz Pentium 3).

With occam becoming available on a variety of microprocessors for GUI building, internet services and small-memory-footprint embedded products, these capabilities are timely. Lessons are drawn for concurrency back in OO languages - and especially for the JCSP (CSP for Java) package library.

Download publication 224 kbytes (PostScript)

Bibtex Record

author = {F.R.M. Barnes and P.H. Welch},
title = {{Mobile Data, Dynamic Allocation and Zero Aliasing: an occam Experiment}},
month = {September},
year = {2001},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {},
    publication_type = {inproceedings},
    submission_id = {13726_1001337603},
    ISBN = {1 58603 202 X},
    booktitle = {Communicating Process Architectures 2001},
    number = {59},
    series = {Concurrent Systems Engineering Series},
    publisher = {IOS Press, Amsterdam, The Netherlands},
    ISSN = {1383-7575},
    refereed = {yes},
    editor = {Alan Chalmers and Majid Mirmehdi and Henk Muller},

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

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

Last Updated: 21/03/2014